当我到达数组的最后一个结果时,我想要消失的下一个按钮,当我在数组的第一个结果时,我希望我的前一个按钮消失。我发现只有一个结果才能让它们消失。
Contacts是数组。
下一个按钮:
//button look
if (contacts != nil) {
if ([contacts count] > 1 ) [self.view addSubview:nextButton];
上一个按钮:
//button look
if (contacts != nil) {
if ([contacts count] > 1 ) [self.view addSubview:previousButton];
我试过这个
if ([contacts count] < (index-1)) [self.view addSubview:nextButton];
我收到此错误“指针和整数之间的有序比较('NSUInterger'(又名'unsigned int')和'char *(*)(const char *,int)')”按钮就在那里它只是没有'当它到达最后的结果时t消失。
非常感谢任何帮助。
答案 0 :(得分:0)
听起来索引是NSUInterger
。 count是一个int,NSUInteger是无符号整数的typedef。尝试更改索引,无论您将其设置为int还是将其类型转换为int,您可以将其用于比较。
关于按钮的部分,如果你的逻辑是正确的并且你试图从视图中删除“nextButton”,你可以隐藏或从视图中删除它,如下所示:
// To remove button
if ([contacts count] < (index-1)) [nextButton removeFromSuperview];
或
//To hide button
if ([contacts count] < (index-1)) nextButton.hidden = YES;
答案 1 :(得分:0)
你永远不会从superView中删除它,所以它永远不会消失。你应该使用按钮的隐藏属性,即
[nextButton setHidden:NO];
或是,如果你想隐藏它。
错误可能来自索引实体,您是否将其作为NSUInterger进行了类型转换?将其更改为uint或int。 (刚发布有点迟了,但在其他答案中已经提到过:D)
答案 2 :(得分:0)
if ([contacts objectAtIndex:[contacts count]-1])
{
[self.view addSubview:nextButton];
}
if([contacts objectAtIndex:0)
{
[self.view addSubview:previousButton];
}
希望这有帮助... nil只是告诉它没有更多的元素要包含在数组中。你不能用它来检查..