我正在尝试为iphone制作一个应用程序,它将tcp连接发送到指定的urf(或Web应用程序)。我希望按钮在发送之前首先给出一个转发器。我为此写了这段代码:
-(IBAction)tiklandi:(id)sender{
NSString *buton1 = [sender titleForState:UIControlStateNormal];
NSString *uyariText = [[NSString alloc] initWithFormat:@"istek gönderiliyor!"];
UIAlertView *alert= [[UIAlertView alloc]initWithTitle:@"Sunucuya Gönderildi" message:uyariText delegate:nil
cancelButtonTitle:@"işlemi iptal ettiniz!"
otherButtonTitles: nil];
[alert show];
//[alert release];
但我无法在代码中使用任何url方法。
我的第二个问题是,我在Developer目录中看不到我的Interface构建器,而且在Xcode的项目导航器中也看不到文件夹,所有类都在彼此之间混合。我使用Xcode 4.2,我是所有这些新手,有人可以帮忙吗?
我尝试了列出的解决方案,但我不知道如何交互我的视图控制器文件和.xib文件。 这是我的视图控制器.h文件:
@interface ViewController : UIViewController
@property (nonatomic, retain) NSURLRequest *url;
@property (nonatomic,retain) UIButton *buton;
-(IBAction)fonksiyon:(id)sender;
@end
这是我的实现文件(视图控件.. .m)
#import "ViewController.h"
@implementation ViewController
@synthesize buton;
@synthesize url;
-(IBAction)fonksiyon:(id)sender{
NSString *buton= [sender titleForState:UIControlStateNormal];
NSURL *url= [sender url];
NSString *uyariText= [[NSString alloc] initWithFormat:@"gönderiliyor!"];
UIAlertView *alertView= [[UIAlertView alloc]initWithTitle:@"Sunucuya Gönderildi"
message:uyariText
delegate:self
cancelButtonTitle:@"işlemi iptal ettiniz!"
otherButtonTitles:@"Server'a Git!", nil];
- (NSURL)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex != [alertView cancelButtonIndex]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://192.168.69.290/cgi-bin/ipad.pl";nil]];
}
}
}
问题是我无法通过File的所有者在.xib文件和其他文件之间建立关系。据我了解,当我从文件的所有者拖动时,我应该看到我的功能(这里称为fonksiyon)。有人可以帮忙吗?
答案 0 :(得分:0)
在创建UIAlertView并将其中一个UIAlertViewDelegate方法实现时,将委托设置为self。 当然,如果你想提供取消选项,你需要一个“otherButtonTitle”
UIAlertView *alert= [[UIAlertView alloc]initWithTitle:@"Sunucuya Gönderildi"
message:uyariText
delegate:self
cancelButtonTitle:@"işlemi iptal ettiniz!"
otherButtonTitles:@"Go to website", nil];
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex != [alertView cancelButtonIndex]) {
// open url in external safari
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://foo.bar"]];
// EDIT: I might have misunderstood your question.
// you should read about NSURLConnection and put that code here.
}
}
我的第二个问题是,我无法在Developer目录中看到我的Interface构建器
Interface Builder不再是额外的应用程序。它现在内置于Xcode。您无需启动它,只需在Xcode中选择xib文件即可。
并且在Xcode的项目导航器中我看不到文件夹,所有类都相互混合。
选择要分组的文件,进行辅助点击并选择“从选择中新建组”。 您负责对文件进行分组。如果您有现有组,只需将文件拖放到那里即可。
答案 1 :(得分:0)
您必须为UIAlert实现委托协议来处理用户的响应。然后,您就可以打开所需的网址。
Interface Builder不再是单独的应用程序(因为XCode v4)>只需在XC中打开一个XIB / NIB文件。
要在Safari移动版中打开网址,请检查此问题:How can I launch Safari from an iPhone app?
如果要在应用内打开网址,则需要构建自己的UIWebView: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/