【问题标题】:Faulty button makes the phonecall before pressing it有故障的按钮在按下之前拨打电话
【发布时间】:2011-05-24 13:41:44
【问题描述】:

代码有效,但应用程序在没有按下按钮的情况下调用字符串。一旦我到达应用程序的特定页面,它就会绕过所有内容(其他按钮、地图视图等)并进行调用...

我使用的代码是:

   - (void)loadNo2 {
        UIButton *no2 = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        [no2 setTitle:@"2108642700" forState:UIControlStateNormal];
        [no2 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        [no2 setBackgroundColor:[UIColor blackColor]];
        [no2 setFrame:CGRectMake(84, 260, 152, 31)];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
        [self addSubview:no2];
    }

这是怎么回事???

【问题讨论】:

    标签: iphone xcode button


    【解决方案1】:

    这一行打开了拨号对话框

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
    

    您没有将其添加为按钮操作——您只是在调用它。

    用这个替换那行:

      [no2 addTarget:self 
              action:@selector(onNo2Touch) 
    forControlEvents:UIControlEventTouchUpInside];
    

    并添加:

    -(void) onNo2Touch:(id) sender {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]];
    }
    

    【讨论】:

    • 看来我需要更正 main.m 文件中的某些内容#import int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, @"Mods_HairAppDelegate"); [池释放];返回 retVal; }
    • 您不需要对 main() 函数进行任何更改。这是你永远不需要改变的东西。娄的回答是正确的。
    • 它实际上解决了最初的问题,但现在崩溃了......问题似乎出在 main.m 的这个特定行中: int retVal = UIApplicationMain(argc, argv, nil, @"example" );
    • 崩溃可能无关。我写这个是为了调试崩溃loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html
    • 娄非常感谢您的支持。我现在必须看看它为什么会崩溃。问候
    【解决方案2】:

    看起来您已经从创建按钮的方法中调用了 openURL。 您应该调用 UIApplication sharedApp...(即

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1234567890"]]; ) 在从动作调用的方法中(映射到按钮)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 2016-05-07
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      相关资源
      最近更新 更多