Как я могу создать взаимодействие с URL, нажав кнопку в задаче c? - PullRequest
0 голосов
/ 05 декабря 2011

Я пытаюсь создать приложение для iphone, которое будет отправлять TCP-соединение по указанному urf (или веб-приложению).Я хочу, чтобы кнопка сначала выдавала аллергию перед отправкой.Я написал этот код для этого:

-(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каталог, а также в навигаторе проекта 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]];
        }

    }

}

Проблема в том, что я не могу сделатьсвязь между файлом .xib и другими через владельца файла.Как я понимаю, когда я перетаскиваю из владельца файла, я также должен видеть свою функцию (здесь она называется fonksiyon).Кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2011
  1. Необходимо реализовать протокол делегирования для UIAlert для обработки ответа пользователя.После этого вы сможете открыть нужный URL.

  2. Interface Builder больше не является отдельным приложением (начиная с XCode v4)> Просто откройте файл XIB / NIB в XC.

  3. Чтобы открыть URL-адрес в мобильном браузере Safari, задайте следующий вопрос: Как запустить Safari из приложения для iPhone?

  4. Если вы хотите открыть URL внутри своего приложения, вам нужно создать свой собственный UIWebView: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/

0 голосов
/ 05 декабря 2011

установите делегата на себя при создании UIAlertView и реализации одного из методов UIAlertViewDelegate . Конечно, если вы хотите предоставить возможность отмены, вам нужен "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.
    }
}

мой второй вопрос: я не вижу своего конструктора интерфейса в каталоге разработчика

Interface Builder больше не является дополнительным приложением. Теперь он встроен в Xcode. Вам не нужно запускать его, просто выберите файл XIB в XCode.

а также в навигаторе проекта XCode я не вижу папок, все классы смешаны между собой.

Выберите файлы, которые вы хотите сгруппировать, сделайте вторичный щелчок и выберите «Новая группа из выбора». Вы несете ответственность за группирование ваших файлов. Если у вас есть существующая группа, просто перетащите туда свои файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...