我的基于导航的应用程序的背景看起来像软木公告板上的纸张。我的RootViewController当然是一个UITableView。我想让TableView结束在纸上,而不是在软木塞上。这里的一些图片更好地解释了它:
alt text http://img528.imageshack.us/img528/3469/bildschirmfoto20091028u.png
这是我滚动到TableView的最后一行时的样子。为此,我在Interface Builder中使用“Content-Bottom”和“Scrollers-Bottom”的“Inset”属性。
alt text http://img24.imageshack.us/img24/3469/bildschirmfoto20091028u.png
这是我滚动到TableView顶部时的样子。
alt text http://img28.imageshack.us/img28/64/35859544.png
这就是我滚动到顶部时希望TableView看起来的样子。
我该怎么做?
非常感谢;-)
亚辛
答案 0 :(得分:2)
您可以使用较小的size.height参数制作tableView的框架。它会起作用。
哦......好的。我现在附近没有mac所以我不想发布很多代码。我会尽力解释。首先,您应该从UIViewController继承您的rootViewController,而不是UITableViewController。如果您使用IB,则必须将主视图引用到RootViewController的view属性。然后,您可以设置主视图的背景
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"myImage.png"]]];
或在视图中添加UIImageView并在那里设置背景图像。然后你必须在视图中添加一个UITableView,并将它的框架设置为你想要的任何尺寸。下一步 - 将您的新tableView引用到您班级内的插座。像这样的Smth:
在viewDidLoad:方法中IBOutlet UITableView* myTableView;
将新tableView的背景设置为clearColor
[myTableView setBackgroundColor:[UIColor clearColor]];
和最后一个。所有你的self.tableView你必须用myTableView替换。
P.S。哦,不要忘记你的新tableView应该有x,y,width属性的框架,与你的self.view的相同,tableView的height属性应该更小一些。
答案 1 :(得分:2)
或者只是在insertSubview:corkBoard atIndex:1
期间使用viewDidLoad
或其他任何内容。 corkBoard
名称应该是软木板所在的视图,index
计算其下方的视图数量。因此1
下面只有一个视图,UITableView
。合理?当然,如果您想要更多的视图,只需更改index
计数。
在我看来,这比设置一个框架更好。框架下面会有一个尴尬的空白,而这只是将桌子放在软木塞后面。相当巧妙:))