[爆卦]UIButton Objective C是什麼?優點缺點精華區懶人包

雖然這篇UIButton Objective C鄉民發文沒有被收入到精華區:在UIButton Objective C這個話題中,我們另外找到其它相關的精選爆讚文章

在 uibutton產品中有3篇Facebook貼文,粉絲數超過5萬的網紅軟體開發學習資訊分享,也在其Facebook貼文中提到, --免費中-- 學習使用 Swift 4 和 Xcode 9 建構用戶註冊、登入、登出的功能 從這 2.5 小時的課程,你會學到 1. 使用 UILabel(s ),UITextField(s) 和 UIButton 2. 處理 UIButton 的行為 3. 將資料儲存在安全的...

 同時也有1部Youtube影片,追蹤數超過17萬的網紅魏巍,也在其Youtube影片中提到,回答同學提問。猜數字應用程式裡,改動按鈕的文字的方法有好多種。我用短片介紹其中兩種,給同學們參考!...

  • uibutton 在 軟體開發學習資訊分享 Facebook 的最佳解答

    2019-02-02 10:10:00
    有 43 人按讚


    --免費中--
    學習使用 Swift 4 和 Xcode 9 建構用戶註冊、登入、登出的功能

    從這 2.5 小時的課程,你會學到

    1. 使用 UILabel(s ),UITextField(s) 和 UIButton

    2. 處理 UIButton 的行為

    3. 將資料儲存在安全的地方-使用 iOS Keychain

    4. 發送 HTTP 請求和處理 HTTP 回應

    5. 將 NSDictionary 型別的物件轉換成 JSON 格式和從 JSON 格式轉換成 NSDictionary 型別的物件

    6. 顯示旋轉活動標示符( spinning Activity Indicator )做進度顯示

    7. 顯示警示訊息對話框

    8. 實現用戶註冊和登錄頁面

    9. 顯示和離開 UIViewController

  • uibutton 在 紀老師程式教學網 Facebook 的最佳貼文

    2013-02-23 12:20:00
    有 5 人按讚

    [學員來信回覆] 『饕客』與『漁夫』

    以下是那位先前我說過,這一期 iPhone / iPad 程式設計班用功到我立正致敬的學員,昨天問我的問題。今早抽空回覆他後,覺得裡面有些程式抓錯(Debug)邏輯與技巧,很值得分享給大家知道,所以就貼上來了。如果您沒學過 iPhone / iPad 程式設計,對於原始碼說明那部分可以無視跳過去,但前頭的「除錯邏輯」麻煩您看一看,應該會有幫助。下次發生「某功能跑不出來」,就不會只是像無敵風火輪裡的天竺鼠一般,「怎麼辦怎麼辦」地窮轉而徒勞無功了。

    什麼?你問我這跟『饕客』與『漁夫』有什麼關係?哈哈哈!你看完就知道了。

    ----------------

    [學員來信部分]

    Hi,老師
    秀不出來,是if的判斷式有錯?

    (紀老師:是的,以下就沒了,就像你跟醫師說完「我咳嗽」,其它問題都回答「不知道」是一樣的)

    [紀老師回信部分]

    您好:

    其實寫程式的「抓錯(Debug)」跟醫師診斷病因有異曲同工之妙。病人跟你說:「我咳嗽」,你就得靠經驗用「消去法」,刪除不可能的病因,直到只剩一條病因、並驗證就是這條病因導致為止。

    同樣的,您說「秀不出來」,這可以分為幾個可能「病因」去檢查:

    (1) 根本沒有觸發該函數(也就是說,沒有綁定)。
    (2) 觸發該函數了,可是沒執行我們想要它執行的程式碼。
    (3) 觸發該函數,我們想要它執行的程式碼也執行了,但是因為程式邏輯可能有誤,導致執行結果一片空白,變成「秀不出來」。

    以上的「思維」,對於將來「XXX 功能『跑不出來』」這種情況一體適用。所以,上面的幾條「斷診邏輯」,麻煩您要絕對緊記在心。下次就不會只是兩手一攤說「秀不出來」,而是「我的函數有觸發,程式碼也執行了,但就是秀不出來。老師可以幫我看看我的程式邏輯哪裡有錯誤嗎?」對我來說,後者問問題的「段數」,比前者高了很多(以上我嘗試著把你從吃魚的「饕客」,變成抓魚的「漁夫」)。

    如果想要檢查出 (1) 與 (2) 很簡單,只要多加兩個 NSLog() 就可以了。如下所示:

    -(void) show:(UIButton *) sender
    {
    NSLog(@"Enter (void) show"); // 第一個 NSLog()

    if ([btnShow.titleLabel isEqual: @"Show"]) {

    NSLog(@"Enter if-statement"); // 第二個 NSLog()

    lblShow = [[UILabel alloc]initWithFrame:CGRectMake(120,200,100,20)];
    lblShow.text = @"Hello World!";
    lblShow.backgroundColor = [UIColor lightGrayColor];
    [self.view addSubview:lblShow];
    [btnShow setTitle:@"Hide" forState:UIControlStateNormal];
    }
    }

    我執行後發現,第一個 NSLog 有執行,但第二個 NSLog 沒執行。所以,函數有觸發,(1) 號病因不成立。(2) 號病因成立。

    明明 btnShow 上面的 Title Label 就是 Show 啊?為什麼 if 會不成立,導致 (2) 號病因成立呢?這時你就有能力把眼睛「完全聚焦」在 if (…) 那一段,解開後,整個問題就解開了。仔細看後發現,你的屬性用錯了。 btnShow.titleLabel 的型別是 UIButton,而 UIButton 的 isEqual,根據使用說明書提示,是判斷該 UIButton 的「識別字(Identifier)」是否為 @"Show",而不是 UIButton 上的表面文字是否為 @"Show"。所以,程式碼應該寫成:

    -(void) show:(UIButton *) sender
    {
    NSLog(@"Enter (void) show");

    if ([btnShow.titleLabel.text isEqualToString: @"Show"]) {

    NSLog(@"Enter if-statement");

    lblShow = [[UILabel alloc]initWithFrame:CGRectMake(120,200,100,20)];
    lblShow.text = @"Hello World!";
    lblShow.backgroundColor = [UIColor lightGrayColor];
    [self.view addSubview:lblShow];
    [btnShow setTitle:@"Hide" forState:UIControlStateNormal];
    }
    }

    您應該比對的是 titleLabel 的 .text,不是 titleLabel 本身。

    至於按下「Hide」按鈕後,怎麼讓原來的字不見,您就得多加個 else 或 else if 了。在 else { … } 內先把 lblShow 隱藏,然後把 btnShow 的 title 改回 @"Show"。這個就留給你自己補上了。

    雖然我只花了 5 秒就知道問題在哪裡(因為這種錯我也常犯,習慣了),但是我願意花 20 分鐘打這些字,希望你將來能變成「5 秒就知道問題在哪裡」的人,哪天也可以很驕傲地教別人如何 Debug。這是我最大的期望。

    -----------------------------------
    紀俊男(Robert Chi)

  • uibutton 在 紀老師程式教學網 Facebook 的最佳解答

    2013-02-20 12:20:00
    有 17 人按讚

    [學員來信] iOS 怎麼用程式碼動態產生一個按鈕,並且讓該按鈕按下後,觸發特定函數?

    這是這一期 iPhone 程式設計班一位非常用功的學生,今天早上寄給我的信。該位同學不但把我出的作業全部做完(上過我的課就知道我的作業不是普通的多,每週都至少有 1~3 題還算刁鑽的題目,還會魔音穿腦似地催你交作業 XD ),還拼命拿課外的問題做。我在課堂上教 Button 時,大多用 Xcode 內建的 Storyboard 畫介面,並以拖拉放的方式,指定該按鈕按下後,要觸發哪個函數。該位同學居然「不怕死」...呃...是「很用功」地想完全用程式碼「畫」出 Button,還問我怎麼用程式碼,把該 Button 與特定函數綁定,好讓使用者按下後執行該函數,而不是用 Storyboard 內建拖拉放的方法。

    我收到這個問題楞了一下,隨即寫了一段小程式碼回覆他。按下 E-mail 的「送出」鈕後,想想這個問題也許也有其他人想知道,就貼在這裡分享給大家了。希望對大家有用!

    ----------

    您好:

    範例程式碼如下。如果有看不懂的,麻煩您告知:

    -(void)testButtonClicked:(UIButton *)sender
    {
    UIAlertView *altView = [[UIAlertView alloc]
    initWithTitle:@"Test"
    message:@"Button Clicked"
    delegate:nil
    cancelButtonTitle:@"OK"
    otherButtonTitles: nil];
    [altView show];
    }

    - (void)viewDidLoad
    {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [btn addTarget:self
    action:@selector(testButtonClicked:)
    forControlEvents:UIControlEventTouchDown];
    [btn setTitle:@"Click Me" forState:UIControlStateNormal];
    btn.frame = CGRectMake(0, 0, 160, 40);
    btn.center = self.view.center;

    [self.view addSubview:btn];
    }

    先看 viewDidLoad。基本上就是一連串的初始化過程。先決定 button 的外觀是「圓角矩形」(UIButtonTypeRoundedRect),接著用 addTarget:action:forControlEvents: 綁定「函數」與「事件」。再來就是設定 Button 的 Title 是「Click Me」,並處於「正常狀態(UIControlStateNormal)」(也就是「沒有按下」的樣子)。最後就是決定大小與位置,並加入 View 內而已。

    觸發用函數我命名為 -(void)testButtonClicked:(UIButton *)sender。基本上,傳回值可以是「void」或「IBAction」。不過使用 IBAction 會一直有個空心圓告知該函數沒有用 Storyboard 綁定,我嫌煩就直接用 void 了。觸發函數的傳入值一定只能有一個,跟 IBAction 一樣,我這裡宣告為 (UIButton *)sender。

    整個程式碼放在 ViewController 的實作部(.m)即可。您可以實作看看便知分曉。

    -----------------------------------
    紀俊男(Robert Chi)

  • uibutton 在 魏巍 Youtube 的精選貼文

    2016-09-07 08:17:05

    回答同學提問。猜數字應用程式裡,改動按鈕的文字的方法有好多種。我用短片介紹其中兩種,給同學們參考!

你可能也想看看

搜尋相關網站