-1

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

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

总是导致记录不合格。我写的代码可以在这里看到,我的 UIScrollView 是 ScrollViewer 类型:@implementation scrollViewer - (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event {

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

任何帮助表示感谢!

4

1 回答 1

0

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

NSLog(@"Y坐标= %d",adjustedy);

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

所以首先你需要记录 self.tabbarcontroller 以确保它不为零。如果没问题,系统可能不想让你在触摸事件中切换(无论如何这是不好的形式)。我会这样设置:

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

所以它稍后运行。

于 2012-08-12T12:07:40.560 回答