ScrollView with Images - 改变touchesended标签不起作用

时间:2012-08-12 07:43:12

标签: objective-c ios uiscrollview uitabview

在我的应用程序中,我有一个UIScrollView,在其中我以编程方式创建了UIImageViews。这基于Xcode中的Tab-bar模板。我想要做的是在按下特定图像时更改Tabs,虽然我能够将事件注册为触摸,但更改tabIndex不执行任何操作。 输入以下代码:

    UITabBarController *tab=self.tabBarController;
        if (tab){
            NSLog(@"Good");
        }
        else {
            NSLog(@"No Good");

始终导致无法记录好。我可以在这里看到我编写的代码,其中我的UIScrollView是ScrollViewer类型: @implementation scrollViewer - (void)touchesEnded:(NSSet *)触及withEvent:(UIEvent *)事件{

if (!self.dragging) {
    NSLog(@"Recieved Touch!");
    UITouch *aTouch = [touches anyObject];
    MainView *theInstance = [[MainView alloc] init];


     CGPoint point = [aTouch locationInView:self];
        theInstance.ycoord = point.y;
        [theInstance touchHand];
}
    [super touchesEnded: touches withEvent: event];
}

@end

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您从未向我们提供任何示例输出:

NSLog(@“Y Coord =%d”,已调整);

但我会假设该值应该导致切换。

首先,您需要记录self.tabbarcontroller以确保它不是nil。如果没问题,系统可能不希望让你切换内部触摸事件(无论如何都是糟糕的形式)。我会这样设置:

dispatch_async(dispatch_get_main_queue(), ^{ do code here } );

所以它会晚点运行。