iOS 中 iCarousel 应用的按钮选择事件

Posted

技术标签:

【中文标题】iOS 中 iCarousel 应用的按钮选择事件【英文标题】:Button select event for iCarousel app in iOS 【发布时间】:2013-05-02 04:58:26 【问题描述】:

我将 iCarousel 集成到我的应用程序中。它工作正常。但我的要求是在单个视图中显示两个按钮以及这两个按钮的特定操作。我将按钮显示为

- (UIView *) carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view

 UIView *sampleView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 250, 300)];
    sampleView.backgroundColor=[UIColor whiteColor];

UIButton*  btntrans=[UIButton buttonWithType:UIButtonTypeCustom];
    [btntrans setFrame:CGRectMake(45, 40, 105, 50)];

    [btntrans setBackgroundColor:[UIColor clearColor]];
    btntrans.titleLabel.font = [UIFont fontWithName:@"Arial-BoldMT" size:15];
    [btntrans setTitle:@"" forState:UIControlStateNormal];
    [btntrans setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [sampleView addSubview:btntrans]; 
UIButton*  btntrans1=[UIButton buttonWithType:UIButtonTypeCustom];
    [btntrans1 setFrame:CGRectMake(45, 90, 105, 50)];

    [btntrans1 setBackgroundColor:[UIColor clearColor]];
    btntrans1.titleLabel.font = [UIFont fontWithName:@"Arial-BoldMT" size:15];
    [btntrans1 setTitle:@"" forState:UIControlStateNormal];
    [btntrans1 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [sampleView addSubview:btntrans1]; 
return sampleView;

我们可以使用

-(void)carousel:(iCarousel *)carousel didSelectItemAtIndex:(NSInteger)index

    NSLog(@"ITEM SELECTED");

全视图选择。但是如何设置这两个按钮的两个具体动作呢?

提前致谢。

【问题讨论】:

试试这个对我有用。 Try this 【参考方案1】:

在创建项目视图时将按钮操作绑定到视图控制器,然后在操作方法中使用轮播的 indexForViewOrSubview: 方法来确定按下了哪个按钮。

如果您使用笔尖创建视图,请查看 iCarousel 示例项目中包含的控件示例,了解如何执行此操作。

【讨论】:

【参考方案2】:

你为什么不试试这个:

[btntrans addTarget:self
             action:@selector(first_action)
   forControlEvents:UIControlEventTouchUpInside];

同样,

[btntrans1 addTarget:self
              action:@selector(second_action)
    forControlEvents:UIControlEventTouchUpInside];

相应地在事件中:

- (void)first_action:(id)sender

    //This will get you the index of the selected view

    NSInteger index = [self.carousel indexOfItemViewOrSubview:sender];
                 .......
    //Do whatever you feel like


【讨论】:

以上是关于iOS 中 iCarousel 应用的按钮选择事件的主要内容,如果未能解决你的问题,请参考以下文章

使用 iCarousel 切换到另一个视图

iOS iCarousel 重用不同专辑保留旧专辑信息问题

iOS:iCarousel 中未选择视图的约束

iCarousel 与 iOS 6.1 中具有标签栏控制器的应用程序集成

如何为 icarousel 中的每个按钮创建单独的操作?

iCarousels 卡在 iOS 7 中