gpt4 book ai didi

ios - 反向滑动 UIButton 数组

转载 作者:行者123 更新时间:2023-11-29 03:04:50 25 4
gpt4 key购买 nike

在我的应用程序中,我有很多 UIButton 堆叠在一起。我想使用滑动手势来回浏览它们。在 viewDidLoad 中我有:

self.buttonArray = [[NSMutableArray alloc] initWithObjects:map, boardmembers, facebook, twitter, lessonbooks, schedule, nil];
map.hidden = NO;
boardmembers.hidden = facebook.hidden = twitter.hidden = lessonbooks.hidden = schedule.hidden = YES;

要从右向左滑动,并推进它们,我有:

 UIButton *currentVisibleButton = [_buttonArray firstObject];
UIButton *nextVisibleButton = [_buttonArray objectAtIndex:1];

[_buttonArray removeObject:currentVisibleButton];
[_buttonArray addObject:currentVisibleButton];

currentVisibleButton.hidden = YES;
nextVisibleButton.hidden = NO;

我在使反向工作时遇到问题,我可以在其中来回移动。我该怎么做?

最佳答案

我不确定我是否完全理解您的代码,但是您发布的内容的类似逆序是:

UIButton *currentVisibleButton = [_buttonArray lastObject];
UIButton *nextVisibleButton = _buttonArray[_buttonArray.count-2];

[_buttonArray removeObject:currentVisibleButton];
[_buttonArray insertObject:currentVisibleButton atIndex:0];

但是将数组用作环的更好方法是保留游标。保持当前可见索引的状态。

@property(assign, nonatomic) NSInteger cursor;

- (void)cursorLeft {
self.cursor = (self.cursor+1 == _buttonArray.length)? 0 : self.cursor+1;
}

- (void)cursorRight {
self.cursor = (self.cursor == 0)? _buttonArray.length-1 : self.cursor-1;
}

- (UIView *)viewAtCursor {
return (UIView *)_buttonArray[self.cursor];
}

确保数组中索引为零的按钮是可见的,而其他所有按钮都是隐藏的。现在,无需对阵列进行任何搅动,您就可以像这样四处滑动。

// swipe left
self.viewAtCursor.hidden = YES;
[self cursorLeft];
self.viewAtCursor.hidden = NO;

// swipe right
self.viewAtCursor.hidden = YES;
[self cursorRight];
self.viewAtCursor.hidden = NO;

关于ios - 反向滑动 UIButton 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22903473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com