让我们创建一个密码iPhone应用程序(第3部分)

大家好。
藤田裕太(@HofuCamera)是。

上次,我使用Social.framework发布到SNS。

但是,由于它以一篇文章结尾(仅用于发布到Facebook),因此我希望这次能够选择Twitter或Facebook。

这次,我想使用一个新的AlertViewController。
最后一次的延续(这里)

<<到最后一次的路线>>


让我们为iPhone应用程序开发准备环境
开发iPhone应用程序需要什么
让我们开发没有程序的红卡iPhone应用程序
让我们开发一个没有程序的彩色卡片应用程序
让我们开发您最喜欢的网站集应用
让我们开发一个笔记邮件应用程序(第1部分)
让我们开发一个笔记邮件应用程序(第2部分)
让我们开发一个在10秒内停止运行的“即时iPhone应用程序”(第1部分)
让我们开发一款仅需10秒即可停止运行的游戏,只需一次使用时间(第2部分)
让我们开发一个谎言电话应用
让我们创建一个密码iPhone应用程序(第1部分)
让我们创建一个密码iPhone应用程序(第2部分)


准备屏幕

首先,我想在屏幕上放置一个“选择并发布”按钮。

如图所示,拖放右侧的按钮。然后像以前一样双击按钮,并将其重命名为“选择并发布”。
xcode_pass4
接下来,完成更改后,创建一个地方来描述选择并单击发布按钮时发生的情况。按住键盘上按钮上方的命令,然后将其拖放到程序中。

然后,将显示以下屏幕,因此为其指定方法名称“ selectPost”。
xcode_pass5
如下所示完成。
xcode_pass6

在此,我们将编写构建警报屏幕,构建按钮,按下按钮时进行处理,将按钮粘贴到警报屏幕上以及发出警报的过程。

构建UIAlertController

建立画面

首先建立一个警报屏幕。

基本上通过确定标题和消息来建立警报屏幕。通常编写如下。
xcode_pass7
在发布屏幕上发布的标题和发布的消息在哪里?这是刻意制造的。

  // コントローラを生成
    UIAlertController *ac =
    [UIAlertController alertControllerWithTitle:@"投稿画面"
                                        message:@"どこへ投稿されますか?"
                                 preferredStyle:UIAlertControllerStyleAlert];

建立一个按钮

接下来,我们将构建一个按钮以放置在此警报屏幕上。

这次有三个按钮。它是取消按钮,Facebook上的发布按钮和Twitter上的发布按钮。
首先,我们将创建一个取消按钮。
xcode_pass8
不限于取消按钮,该按钮主要可以描述按下按钮时的标题,样式和处理。
首先,查看在actionWithTitle之后取消的部分。
您可以在此处更改按钮标题。
继续,

style:UIAlertActionStyleCancel

请注意写成的部分。
在这里,您可以确定按钮的样式以及按下按钮时会发生什么。

//キャンセル用のボタンとアクションを生成
    UIAlertAction *cancel =
    [UIAlertAction actionWithTitle:@"キャンセル"
                             style:UIAlertActionStyleCancel
                           handler:^(UIAlertAction * action) {
                               // ボタンタップ時の処理

                           
                           }];

在这种情况下,我们将建立一个取消按钮
UIAlertActionStyleCancel
据说。
这种风格主要是

UIAlertActionStyleDefault
    UIAlertActionStyleCancel
    UIAlertActionStyleDestructive

有。我们将使用以上两个来构建。

也,

 handler:^(UIAlertAction * action) {
                               // ボタンタップ時の処理

                           
                           }];

在写有“ //轻按按钮时的处理”的部分下,写有轻按按钮时的处理。
在取消的情况下,当您按下按钮时它什么也不做。
因此,我什么都不写。
我们将以相同的方式构建Twitter按钮和Facebook按钮。

 
// Twitter用のアクションを生成
    UIAlertAction *twitter =
    [UIAlertAction actionWithTitle:@"Twitter"
                             style:UIAlertActionStyleDefault
                           handler:^(UIAlertAction * action) {
                               // ボタンタップ時の処理
                                                            
                               
                           }];

请注意,该样式为UIAlertActionStyleDefault,因为这次不是取消按钮。
标题是Twitter。
xcode_pass9
与“取消”按钮的区别在于,按下该按钮后,它会发布到Twitter。
所以

handler:^(UIAlertAction * action) {
                               // ボタンタップ時の処理
                                                            
                               
                           }];

我将按原样编写“显示要发布到Twitter的屏幕”的先前过程。
然后整个事情看起来像这样。
xcode_pass10

 // Twitter用のアクションを生成
    UIAlertAction *twitter =
    [UIAlertAction actionWithTitle:@"Twitter"
                             style:UIAlertActionStyleDefault
                           handler:^(UIAlertAction * action) {
                               // ボタンタップ時の処理
                               
                               SLComposeViewController *vc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
                               
                               [vc setInitialText:@"パスワードを突破しました"];
                               
                               [self presentViewController:vc animated:YES completion:nil];

同样,我们将创建Facebook。
xcode_pass11
xcode_pass12

 
// Facebook用のアクションを生成
    UIAlertAction *facebook =
    [UIAlertAction actionWithTitle:@"Facebook"
                             style:UIAlertActionStyleDefault
                           handler:^(UIAlertAction * action) {
                               // ボタンタップ時の処理
                               
                               SLComposeViewController *vc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
                               
                               [vc setInitialText:@"パスワードを突破しました"];
                               
                               [self presentViewController:vc animated:YES completion:nil];
                               
                               
                               
                           }];

将按钮粘贴到警报屏幕上

现在按钮已完成,让我们最后将按钮连接到警报屏幕。
xcode_pass13

 
 //コントローラにボタンたちを追加
    [ac addAction:cancel];
    [ac addAction:twitter];
    [ac addAction:facebook];

在顶部,将取消按钮,Twitter按钮和Facebook按钮粘贴到名为ac的警报屏幕上。

最后,编写显示完成的警报屏幕的过程。
xcode_pass14

    // アラートを呼び出す
    [self presentViewController:ac animated:YES completion:nil];

ac是一个警报屏幕,不是吗?

用模拟器检查

然后,像往常一样,左上方▶按下按钮以启动模拟器。
首先,密码是aiueo。

按下一步以突破密码。
xcode_pass15
然后,添加了一个新的按钮来选择和发布,如下所示。
xcode_pass16
单击后,出现警报屏幕。
xcode_pass17
当您按下Twitter按钮时,
xcode_pass18
这样,将显示发布屏幕。
Facebook也是如此。
xcode_pass19

最后

它怎么样?

我认为仅通过结合现有的方法就可以轻松地应用它。

另外,可以在这次创建的警报屏幕上附加多个按钮。例如,创建一个新的呼叫按钮可能很有趣。这次结束了!

撰写本文的人

yuta

从零开始创建专业的Instagram风格图像处理iPhone应用程序 特別クーポン配布中! 詳しくは从这里! エンジニアでプロデューサー ピーターティールが大好きです! Twitter:藤井裕太 質問はお気軽にどうぞ!