簡體   English   中英

滾動視圖+段按鈕+ iOS

[英]scroll view + segment button +iOS

我有2個滾動視圖。 我在第一個滾動視圖上放了很多按鈕。 當我在第一個滾動視圖中單擊一個按鈕時,相關按鈕將填充第二個滾動視圖。

我希望第一個滾動視圖中的按鈕具有效果,就像它們是段控件一樣。 即,當單擊一個按鈕時,其圖像變暗,並且在單擊第一個滾動視圖中的其他按鈕之前無法再次單擊。

怎么做到這一點? 任何示例代碼表示贊賞! 謝謝!

你不能只跟蹤上次點擊的按鈕,並重置那個按鈕處於活動狀態,並將你現在點擊的按鈕設置為非活動狀態嗎? 只需創建一個屬性lastClicked,然后執行以下操作:

-(IBAction) buttonClicked:(UIButton *)sender {
    [self.lastClicked setUserInteractionEnabled:YES];
    [self.lastClicked setImage:[UIImage imageNamed:@"enabledImage"] forState:UIControlStateNormal];
    [sender setUserInteractionEnabled:NO];
    [sender setImage:[UIImage imageNamed:@"disabledImage"] forState:UIControlStateNormal];
    self.lastClicked = sender;      
}

嘗試在滾動視圖中添加分段控件。

- (void)viewDidLoad
{
    [super viewDidLoad];

    journals = [[NSMutableArray alloc]init];

    self.tableView.dataSource = self;
    self.tableView.delegate = self;

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 49, 320, 29)];
    self.segmentedControl.frame = CGRectMake(0, 0, 640, 29);

    scrollView.contentSize = CGSizeMake(self.segmentedControl.frame.size.width, self.segmentedControl.frame.size.height -1);
    scrollView.showsHorizontalScrollIndicator = NO;

    self.segmentedControl.selectedSegmentIndex = 0;

    [scrollView addSubview:self.segmentedControl];
    [self.view addSubview:scrollView];

    [self fillJournals];

    // Do any additional setup after loading the view, typically from a nib.
}

超級簡單,非常難看,但它的工作原理。 您可以通過檢查圖像和按鈕的交互狀態來進一步優化它,這樣您就不會在每次循環時設置圖像。

-(void) buttonClicked:(UIButton *)sender {
    for (UIButton *btn in self.scrollView.subviews) {
        if ([sender isKindOfClass:[UIButton class]]) {

            if (btn == sender) {
                [btn setUserInteractionEnabled:NO];
                [btn setImage:[UIImage imageNamed:@"disabledImage"] forState:UIControlStateNormal];
            } else {
                [btn setUserInteractionEnabled:YES];
                [btn setImage:[UIImage imageNamed:@"enabledImage"] forState:UIControlStateNormal];
            }
        }

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM