• Stars
    star
    1,970
  • Rank 23,529 (Top 0.5 %)
  • Language
    Objective-C
  • License
    Other
  • Created over 13 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

open source implementation of Twitter/iPad stacked ui - done right.

PSStackedView - put your UIViewControllers in a stack, inspired by Twitter's iPAD UI.

NOTE: This component was made for iOS 4. There surely are better ways to do this right now and I'm only keeping this up for historical reasons. Don't use it anymore.

After reviewing other stacked implementations, i wrote my own solutions from scratch. This one lets you add plain UIViewControllers to a PSStackedViewRootViewController, working much like a UINavigationController.

All the hard parts, moving, shadows, rounded borders is taken care of.

I made it for the iPad-Version of the popular austrian TV app "3MobileTV". (You need an austrian 3-SIM to test it, but you can check out the screenshots to get the idea what's possible with it).

Currently there is a positioning bug with small view controllers, I'll fix that in the foreseeable future. Otherwise, it's pretty much a drop-in-replacement for UINavigationController, using regular UIViewControllers. It supports iOS4 upwards, with some special support for iOS5's new view controller containment coming.

It works on the iPad and the iPhone, but the concept is better suited for the iPad.

PSStackedView

... and custom-skinned, you can build pretty hot interfaces:

PSStackedView

Getting Started

Much like UINavigationController, it's a good idea to put your PSStackedViewRootController in the AppDelegate:

@property (nonatomic, retain) PSStackedViewRootController *stackController;

Create the stack in application:didFinishLaunchingWithOptions:

ExampleMenuRootController *menuController = [[[ExampleMenuRootController alloc] init] autorelease];
self.stackController = [[[PSStackedViewRootController alloc] initWithRootViewController:menuController] autorelease];
[self.stackController pushViewController:demoViewController fromViewController:nil animated:NO];
window.rootViewController = self.stackController;

PSStackedViewRootController's rootViewController is in the background and its left part is always visible. Adjust the size with leftInset and largeLeftInset.

Roadmap

  • Add (conditional) support for the new child view controller system in iOS5
  • Appledoc
  • lots more

License

Licensed under MIT. Use it for whatever you want, in commercial apps or open source. I just wand a little contribution somewhere in your about box.

Alternatives

There are some open source and commerical stacked implementations out there, yet none of them were flexible enough to fit my needs. Special thanks to Cocoacontrols for this article.

More Repositories

1

Aspects

Delightful, simple library for aspect oriented programming in Objective-C and Swift.
Objective-C
8,383
star
2

PSTCollectionView

Open Source, 100% API compatible replacement of UICollectionView for iOS4.3+
Objective-C
2,546
star
3

AFDownloadRequestOperation

A progressive download operation for AFNetworking.
Objective-C
1,051
star
4

InterposeKit

A modern library to swizzle elegantly in Swift.
Swift
962
star
5

PSPDFTextView

A subclass of UITextView that fixes the most glaring problems from iOS 7 and 7.1.
Objective-C
877
star
6

PSTAlertController

API similar to UIAlertController, backwards compatible to iOS 7. Will use the new shiny API when you run iOS 8.
Objective-C
737
star
7

PSPushPopPressView

Zoom, Rotate, Drag – everything at the same time. A view-container for direct manipulation, inspired by Our Choice from Push Pop Press.
Objective-C
611
star
8

PSFoundation

Categories and helper classes for iOS projects.
Objective-C
569
star
9

PSTDelegateProxy

A simple proxy that forwards optional methods to delegates - less boilerplate in your code!
Objective-C
256
star
10

PSYouTubeExtractor

Display YouTube URLs in a MPMoviePlayerController
Objective-C
191
star
11

PSMenuItem

A block based UIMenuItem subclass.
Objective-C
179
star
12

UIKitDebugging

A set of files that enables various debug flags in UIKit
Objective-C
178
star
13

PSPDFKit-Demo

A drop-in-ready framework that helps in almost every aspect of PDF-rendering on iOS.
Objective-C
178
star
14

PSiOSAppTemplate

iOS Application Template with JSON-Parsing, AutoUpdating, CrashReporter+Sender, Statistics, custom Logging, Localization and all those little things already set up, ready for you to make awesome stuff!
Objective-C
174
star
15

PSAlertView

Modern block-based wrappers for UIAlertView and UIActionSheet.
Objective-C
129
star
16

PSStoreButton

UIButton that is styled like iPhone's AppStore-Button. No Images used!
Objective-C
91
star
17

PSTCenteredScrollView

Shows off different ways to center content in a UIScrollView.
Objective-C
79
star
18

NSLogger-CocoaLumberjack-connector

65
star
19

xcode-theme-solarized-modded

Heavily modded theme based on the Solarized style: http://ethanschoonover.com/solarized/
49
star
20

iOS6-Runtime-Headers

6.0 (GM)
Objective-C
47
star
21

speaking

Upcoming and past speaking engagements for Peter Steinberger (@steipete).
47
star
22

OSLogTest

Test app for OSLog
Swift
45
star
23

PSBackgroundCurtain

Fades the App to black/semi-black when in Background. Fully animated.
44
star
24

PSTFoundationBenchmark

Foundation Collection Classes Benchmarks
Objective-C
37
star
25

SwiftUITouchHandling

Testing touch handling from embedded SwiftUI views
Swift
28
star
26

stackoverflowerizer

always redirect to stackoverflow from pages that just copy the content, like efreedom
JavaScript
15
star
27

steipete.com

Personal Website of Peter Steinberger.
SCSS
13
star
28

dotfiles

my dot files for bash, git, rails and co
Shell
4
star