在滚动视图更改上禁用UIButton

时间:2011-02-16 17:44:15

标签: iphone uiscrollview uibutton

您好我正在尝试像应用程序一样实现Photos.app,在下面的工具栏中我们可以使用页面更改按钮进行滚动。所以,我放了一个按钮用于滚动到第一页,一个按钮用于最后一页。滚动下一页和上一页的两个按钮。

[[self.toolbarItems lastObject] setEnabled:NO];

我正在通过添加类似于上面代码行的内容来更改按钮项的状态。但这需要我跟踪页码和状态需要更改的按钮。例如,如果我在最后一页,则最后一页按钮需要禁用,但必须在其他页面中启用。

是否有更好的方法根据页码更改按钮状态? (而不是计算页面和更改按钮状态。)

1 个答案:

答案 0 :(得分:0)

我不完全确定我理解这个问题,但大概你必须知道你在拍什么照片。将其设为NSNumber属性,然后使用自定义设置器知道照片编号何时更改并调整按钮:

- (void) checkToolBar: (NSNumber *) pageNumber {
    int page = [pageNumber intValue];
    [[self.toolbarItems objectAtIndex:0] setEnabled: (page !=0)];
    [[self.toolbarItems objectAtIndex:1] setEnabled: (page !=0)];
    [[self.toolbarItems objectAtIndex:2] setEnabled: (page != [photos count]];
    [[self.toolbarItems objectAtIndex:3] setEnabled: (page != [photos count]];
 }


- (void)setNumPage:(NSNumber *)newPage {
  if (numPage != newPage) {
    [numPage release];
    numPage = [newPage retain];
    [self checkToolBar:numPage];
  }
}