我正在开发一个需要自定义uinavigationbar的项目。期望的效果是导航控制器中包含的视图堆栈上的可视化。
想象一下,对于每个视图,您向前移动一个新按钮会出现在您刚刚离开的视图的导航栏中。例如
查看1>>查看2>>查看3
我很乐意创建自定义可恢复的iOS组件,但我很想知道其他人如何处理此任务。
我现在运行的实例是UIView的子视图,在init上我通过为委托类提供的字典数组中详细列出的条目添加UIButtons来创建导航栏。
在psudeo代码中:
@protocol NavDelegate
- (void)UIButtonClicked;
@end
@protocol NavDataSource
- (NSMutableArray *)arrayOfDictionaries;
@end
@interface Navbar : UIView
<NavDelegate,NavDataSource>
{
//create and synthesize delegate and datasource objects
}
@end
@implementation NavBar
- (id)init
{
//override and instantiate necessary objects
}
- (void)layoutSubviews
{
//here I use the number of dictionaries in the delegate returned array to add UIButtons to
//a UIView adding control events for when the button is clicked
}
@end
它有效,但我不能帮助感觉那里有更优雅的解决方案。
我也很想知道人们是否认为这是一种应该避免的做法。我不情愿“重新发明轮子”,但项目利益相关者认为这是一个很好的UI元素。如果意见的潮流是“不惜一切代价”,那么我一定会把这个论点反馈给他们。
先谢谢你们
答案 0 :(得分:0)
Apple,我相信,在他们自己的导航控制器文档中,对这种UI不屑一顾。
听起来你的利益相关者有一个网站面包屑的心态......至少在我看来,这对于移动应用程序设计来说是错误的心态。他们是UI还是UX用户?如果没有,那么......也许他们需要一个。
话虽如此,他们是客户。 : - )