iphone - 如何在单击某些按钮时重新加载我的 UIViewController?

标签 iphone objective-c ios xcode ipad

我正在开发一个 iPhone 应用程序,我有一个 UIViewController 类,其中有一些 coverflow 动画,根据设计,我的 View 顶部有大约 5 个按钮,每个按钮都有一个 IBAction 单击按钮的方法我需要显示具有不同数据的不同 coverflow 集,并且 coverflow 的计数也从 1 个按钮操作更改为另一个。我的问题是如何在单击这些按钮时刷新我的页面(重新加载),因为我知道显式调用 viewDidLoad 是一个非常糟糕的主意,那么我该如何实现呢?提前感谢任何帮助。

最佳答案

让 View 重新绘制自身的最简单方法是调用 [UIView setNeedsDisplay] 或使用 [UIView setNeedsDisplayInRect]。此方法告诉 View 它需要重新绘制自身及其 subview 。但是,您不必总是调用它。还有其他方法可以导致 View 重绘自己。例如,如果您使用 [UIView addSubview:] 或 [UIView removeFromSuperview] 在 View 层次结构中添加或删除 View 。

这些方法会导致系统调用 View 的 drawInRect: 方法(假设您使用自定义绘图代码覆盖它)。如果您没有为自定义绘图覆盖此方法,那么它应该会导致您的 subview 收到相同的消息,以便它们有机会重绘。

这里有更多信息。专门阅读标有“ View 绘制周期”的部分。

http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html

关于iphone - 如何在单击某些按钮时重新加载我的 UIViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7725215/

相关文章:

jquery - 您可以删除特定设备的样式表吗?

iphone - NSURLErrorDomain 错误-1012

iphone - 如何在本地/远程通知上闪烁 iphone 的手电筒

ios - 本地安装的iOS应用程序有有效期限吗?

iphone - iOS 6 在 UiNavigationController 中自动旋转

iPhone UIActionSheet

ios - 这段代码使用 switch-case 和 if else if else 哪个更好?

ios - 点击并按住 UITableViewCell 并移动到其他 UITableView

ios - 如何添加设备开关位置服务的Observer

iphone - 我必须注册下载我的应用程序的每个设备 token 吗?