【代碼筆記】自定義開關

来源:http://www.cnblogs.com/yang-guang-girl/archive/2016/08/18/5782687.html
-Advertisement-
Play Games

一,效果圖。 二,工程圖。 三,代碼。 RootViewController.h RootViewController.m ...


一,效果圖。

二,工程圖。

三,代碼。

RootViewController.h

複製代碼
#import <UIKit/UIKit.h>
#import "ToggleView.h"

@interface RootViewController : UIViewController
<ToggleViewDelegate>

@property(nonatomic, strong)ToggleView *toggleViewWithLabel;
@property(nonatomic, strong)ToggleView *toggleViewWithoutLabel;
@property(nonatomic, strong)ToggleView *toggleViewBaseChange;
@property(nonatomic, strong)ToggleView *toggleViewButtonChange;

@end
複製代碼

 

RootViewController.m

複製代碼
#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController

@synthesize toggleViewWithLabel;
@synthesize toggleViewWithoutLabel;
@synthesize toggleViewBaseChange;
@synthesize toggleViewButtonChange;


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
    //可以通過換圖片,而為成自己需要的按鈕。
    
     [[self navigationController] setNavigationBarHidden:YES animated:YES];
    
    toggleViewWithLabel = [[ToggleView alloc]initWithFrame:CGRectMake(0, 50, 320, 75) toggleViewType:ToggleViewTypeWithLabel toggleBaseType:ToggleBaseTypeDefault toggleButtonType:ToggleButtonTypeDefault];
    toggleViewWithLabel.toggleDelegate = self;
    
    toggleViewWithoutLabel = [[ToggleView alloc]initWithFrame:CGRectMake(0, 150, 320, 75) toggleViewType:ToggleViewTypeNoLabel toggleBaseType:ToggleBaseTypeDefault toggleButtonType:ToggleButtonTypeDefault];
    toggleViewWithoutLabel.toggleDelegate = self;
    
    toggleViewBaseChange = [[ToggleView alloc]initWithFrame:CGRectMake(0, 250, 320, 75) toggleViewType:ToggleViewTypeNoLabel toggleBaseType:ToggleBaseTypeChangeImage toggleButtonType:ToggleButtonTypeDefault];
    toggleViewBaseChange.toggleDelegate = self;
    
    toggleViewButtonChange = [[ToggleView alloc]initWithFrame:CGRectMake(0, 350, 320, 75) toggleViewType:ToggleViewTypeNoLabel toggleBaseType:ToggleBaseTypeDefault toggleButtonType:ToggleButtonTypeChangeImage];
    toggleViewButtonChange.toggleDelegate = self;
    
    [self.view addSubview:toggleViewWithLabel];
    [self.view addSubview:toggleViewWithoutLabel];
    [self.view addSubview:toggleViewBaseChange];
    [self.view addSubview:toggleViewButtonChange];
    
    /*label*/
    UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(60, 40, 200, 15)];
    UILabel *label2 = [[UILabel alloc]initWithFrame:CGRectMake(60, 140, 200, 15)];
    UILabel *label3 = [[UILabel alloc]initWithFrame:CGRectMake(60, 240, 200, 15)];
    UILabel *label4 = [[UILabel alloc]initWithFrame:CGRectMake(60, 340, 200, 15)];
    label1.text = @"Toggle with label.";
    label2.text = @"Toggle without label.";
    label3.text = @"Toggle base image change.";
    label4.text = @"Toggle button image change.";
    label1.backgroundColor = [UIColor clearColor];
    label2.backgroundColor = [UIColor clearColor];
    label3.backgroundColor = [UIColor clearColor];
    label4.backgroundColor = [UIColor clearColor];
    label1.font = [UIFont boldSystemFontOfSize:14];
    label2.font = [UIFont boldSystemFontOfSize:14];
    label3.font = [UIFont boldSystemFontOfSize:14];
    label4.font = [UIFont boldSystemFontOfSize:14];
    label1.alpha = 0.7f;
    label2.alpha = 0.7f;
    label3.alpha = 0.7f;
    label4.alpha = 0.7f;
    label1.textAlignment = 1;
    label2.textAlignment = 1;
    label3.textAlignment = 1;
    label4.textAlignment = 1;
    
    [self.view addSubview:label1];
    [self.view addSubview:label2];
    [self.view addSubview:label3];
    [self.view addSubview:label4];
    
    [toggleViewBaseChange setSelectedButton:ToggleButtonSelectedRight];
    [toggleViewButtonChange setSelectedButton:ToggleButtonSelectedRight];
    
}

#pragma -mark - ToggleViewDelegate

- (void)selectLeftButton
{
    NSLog(@"LeftButton Selected");
}

- (void)selectRightButton
{
    NSLog(@"RightButton Selected");
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
複製代碼

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言:今天在寫代碼的過程中遇到一個需要修改系統navigationBar的背景色,我起初用的是barTintColor去修改但是防不住系統點擊按鈕的時候會有一個渲染高亮的效果,調了好久沒有達到自己想要的效果,最後放棄用顏色來搞這個了,看了一下swift的API發現也可以用圖片,有不好意思找UI(自己 ...
  • 序言 打算分享一些有爭議的話題,並且表達一下我的看法。這是該系列的第一篇,我想討論的是:類的成員變數應該如何定義? 在 Objective-C 的語言的早期,類的私有成員變數是只能定義在 .h 的頭文件裡面的。像如下這樣: 之後,蘋果改進了 Objective-C,允許在 .m 裡面添加一個當前類的 ...
  • 簡單幾步操作讓你在終端下用git實現文件的上傳。 一、克隆項目 在工作中,常見的情景都是遠程庫已經建好了,需要大家把代碼拉下來,共同協作開發。本文所有操作均在終端下進行。 //克隆一個本地庫 git clone 你的遠程倉庫地址 二、本地庫的操作 //添加修改 1、git add 修改的文件名 // ...
  • title: Android Button的基本使用 tags: Button,按鈕 Button介紹: Button(按鈕)繼承自TextView,在Android開發中,Button是常用的控制項,用起來也很簡單,你可以在界面xml描述文檔中定義,也可以在程式中創建後加入到界面中,其效果都是一樣的 ...
  • 前言:swift語法基礎篇(二)來了,想學習swift的朋友可以拿去參考哦,有興趣可以相互探討,共同學習哦. 一.可選類型(重點內容) 1.什麼是可選類型? 1.1在OC開發中,如果一個變數暫停不使用,可以賦值為0(基本屬性類型)或者賦值為空(對象類型) 1.2在swift開發中,nil也是一個特殊 ...
  • 在應用圖標右上角添加消息數提醒,可以很方便的告知用戶該應用中有無新消息需要處理。下麵用xcode 7.3.1來簡要說明一下如何用swift語言進行此功能的實現。 1、修改 AppDelegate.swift 2 修改在ViewController.swift 3 編譯運行 第一次會彈出詢問是否允許推 ...
  • Socket 是應用層與 TCP / IP 協議通信的中間軟體抽象層,它是一組介面 TCP:面向連接、傳輸可靠(保證數據正確性,保證數據順序)、用於傳輸大量數據(流模式)、速度慢,建立連接需要開銷較多(時間,系統資源)。 UDP:面向非連接、傳輸不可靠、用於傳輸少量數據(數據包模式)、速度快 常用的 ...
  • 給工程師一個標準的估算項目時間 一個曾經與我一起工作過的經驗豐富的項目經理聲稱,他拿到程式員的時間估算以後,先將它乘以π,然後轉化下一個時間數量級後,才能得到真正的值。1天轉化成3.14周。他過去因為程式員不擅長估算時間而吃盡了苦頭。我創建了一個用來翻譯程式員時間估算的表格,來儘量縮小估算錯誤。 時 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...