所以我在Github找到了一个非常吸引人的弹出侧边栏动画。但是,我只能将它用作弹出侧边栏(如下面的截图)。我想将它作为左侧栏添加到我的ViewController(如第二个屏幕截图),但还没有找到办法。有什么建议吗?
更新:这是我的viewDidLoad。我试过了[self.view addSubview:callout.contentView]
,但它无法正常工作
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *images = @[
[UIImage imageNamed:@"Home.png"],
[UIImage imageNamed:@"Me.png"],
[UIImage imageNamed:@"Search.png"],
[UIImage imageNamed:@"Trends.png"],
[UIImage imageNamed:@"Setting"],
];
RNFrostedSidebar *callout = [[RNFrostedSidebar alloc] initWithImages:images];
callout.delegate = self;
[self.view addSubview:callout.contentView];
[callout show]; }
这是RNFrostedSidebar API
答案 0 :(得分:2)
为什么不为此目的使用简单的UIView? RNFrostedSideBar
是您需要的太多自定义解决方案。
只需设置足够的自动布局约束并更改sideBar
插座宽度 - 约束常量值(动画)。看看Auto Layout Guide,它会帮助你。
我将尝试解释我对您的UIViewController视图内容的看法
+-------------------------+
|sideBar| contentView |
| | |
| | |
| | |
| | |
| | |
| | |
+-------------------------+
<--W-->
W
是与您的@property (weak) IBOutlet NSLayoutConstraint *sideWidthConstraint
相关联的宽度布局约束。 sideBar
和contentView
的所有其他约束(例如Leading
,Trailing
,Top
,Bottom
应设置为零。注意视图之间的约束。它也必须为零:
+---------------------------+
| sideBar |-0-| contentView |
如果您需要更改sideBar
宽度(并减少contentView
之一),只需更改sideWidthConstraint
常量值:
[UIView animateWithDuration:0.3 animations:^{
self.sideWidthConstraint.constant = expanded ? 50 : 0; // expanded - YES of NO
[self.view layoutIfNeeded];
}];