Time spent: 17 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:
- Auto-adjusting constraints on the details page depending on whether the delete button is displayed
- Lots of code cleanup!
- Global nav styles
- Reusable xib tweet cell
- Better UI for creating tweets (updated placeholder logic)
- Improved hamburger/menu view controller invocation pattern (no dependency on order in app delegate)
- Disallow dragging of content view outside of display view
- Better login screen UI
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):
- Anyone find any better patterns for invoking haburger and menu view controllers?
- How did you prevent the menu view from responding to the drag gesture? It needed to have "user interactin enabled" so that the tableView was clickable, but we didn't want it to drag when touched.
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
Describe any challenges encountered while building the app.
Copyright [2017] [Paul Sokolik]
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.