Time spent: 12 hours spent in total
The following required functionality is completed:
- Hamburger menu
- Dragging anywhere in the view should reveal the menu.
- The menu should include links to your profile, the home timeline, and the mentions view.
- The menu can look similar to the example or feel free to take liberty with the UI.
- Profile page
- Contains the user header view
- Contains a section with the users basic stats: # tweets, # following, # followers
- Home Timeline
- Tapping on a user image should bring up that user's profile page
The following optional features are implemented:
- Profile Page
- Implement the paging view for the user description.
- As the paging view moves, increase the opacity of the background screen. See the actual Twitter app for this effect
- Pulling down the profile page should blur and resize the header image.
- Account switching
- Long press on tab bar to bring up Account view with animation
- Tap account to switch to
- Include a plus button to Add an Account
- Swipe to delete an account
The following additional features are implemented:
- List anything else that you can get done to improve the app functionality!
Please list two areas of the assignment you'd like to discuss further with your peers during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):
- How other people implemented the profile picture click event separate from the cell click event
- Pager view on profile page
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
- It took almost 3 hours to figure out the profile picture click event. For some reason, my gesture event callback method didn't invoke until I programatically set
self.profileImage.isUserInteractionEnabled = true
Copyright 2016 Nari Shin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.