自定義UIView(xib)方式--新增到其他ViewController上
使用XIB自定義UIView:
01:新建一個UIView繼承自UIView。
02:新建一個xib檔案,檔案必須和上一步的自定義的UIView的名字一樣。
03:在xib上新增各類控制元件。
重點:如何在其他ViewController中使用自定義的View
04:nib載入這個View
NSArray *nib = [[NSBundlemainBundle]loadNibNamed:@"AZDetailView"owner:selfoptions:nil];
AZDetailView *deataiView=[nib objectAtIndex:0];
得到這個自定義的View推薦將其寫在自定義View的對外介面中,使用類方法建立
+(LKTextView *)instanceTextView
{
NSArray* nibView = [[NSBundle mainBundle] loadNibNamed:@"LKTextView" owner:nil options:nil];
return [nibView objectAtIndex:0];
}
這樣在其他頁面建立時,也可以像普通控制元件一樣建立。
接下來是填充這個檢視。有兩種方式。
第一種使用單例,在awakeFromNib中做資料填充,這樣做有一個優點:在檢視建立完後,資料就會被填充。缺點就是:使用了單例模型,增加了記憶體開銷。
第二種
05:
第一種,填充資料
在 -(void)awakeFromNib 方法中寫上載入nib時,做的一些資料填充。(使用單例,獲取單例模型,然後填充資料)。
-(void)awakeFromNib { AZDetailMediaModel *detailMedia=[AZDetailMediaModel shareDetailMedia]; self.nameLabel.text=detailMedia.name; [self.pic setImageWithURL:[NSURL URLWithString:detailMedia.picUrl]]; self.start.text=detailMedia.start; self.dictro.text=detailMedia.dicetor; self.actor.text=detailMedia.actor; self.type.text=detailMedia.type; self.time.text=detailMedia.time; self.introLabel.text=detailMedia.intro; }
第二種,填充資料
利用Setter方式。設定模型屬性,在.m檔案中的set方法裡,對資料進行填充。
使用注意:建立檢視完成後,必須呼叫setter方式才能填充資料
.h檔案
#import <UIKit/UIKit.h>
#import "AZDateRecommendModel.h"
@interface AZDateRecommendView : UIView
@property (weak, nonatomic) IBOutlet UILabel *day;
@property (weak, nonatomic) IBOutlet UILabel *chinaDate;
@property (weak, nonatomic) IBOutlet UILabel *date;
@property (weak, nonatomic) IBOutlet UIImageView *luckImageView;
@property (nonatomic,strong)AZDateRecommendModel *model;
@end
.m檔案
#import "AZDateRecommendView.h"
@implementation AZDateRecommendView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (void)setModel:(AZDateRecommendModel *)model
{
self.day.text = [model.GregorianCalendar componentsSeparatedByString:@"-"].lastObject;
self.date.text = model.GregorianCalendar;
self.chinaDate.text = [NSString stringWithFormat:@"農曆%@", model.LunarCalendar];
}
@end
使用方法
_dateRecommendView = [[NSBundle mainBundle] loadNibNamed:@"AZDateRecommendView" owner:self options:nil].lastObject;
_dateRecommendView.frame = CGRectMake(40, 74, 250, 100);
_dateRecommendView.backgroundColor = [UIColor redColor];
//省略下載資料,填充模型
//設定模型,呼叫setter方法
_dateRecommendView.model=model;
[self.view addSubview:_dateRecommendView];
相關推薦
自定義UIView(xib)方式--新增到其他ViewController上
使用XIB自定義UIView: 01:新建一個UIView繼承自UIView。 02:新建一個xib檔案,檔案必須和上一步的自定義的UIView的名字一樣。 03:在xib上新增各類控制元件。 重點:如何在其他ViewController中使用自定義的
呼叫Action中的自定義方法(4種方式)
Action中的execute()方法是預設方法,在執行時被自動呼叫。但也允許在Action中自定義方法。可以在Action中自定義多個方法,分別處理不同的邏輯。當Action 中使用了自定義方法,該Action 就需要特定的配置,一般有四種呼叫方式: (1)使
Excel資料匯入到SharePoint自定義列表(資料檢視方式)
本篇講解一個有些新穎的SharePoint例項應用,給甲方做過專案的都有過體會,資料太多了,客戶有Excel,要求實現批量匯入。效果圖大致如下所示此例項是借用列表的資料檢視實現匯入,資料檢視類似Excel,所以可以直接在上面編輯,甚至從Excel中直接貼上進去,然後點選儲存將
自定義屬性(2)
aps 按鈕 charset script 定義 type i++ element color 定義三個按鈕 點擊按鈕,出現A、B、C、D字母,點擊一下,出現一個 當按鈕字母為 D 的時候,繼續點擊又會重新回到 A 1 <!DOCTYPE HTML>
自定義廣播(BroadcastReceiver)事件 --Android開發
ppc andro xtend 類型 class get receive cli time 本例演示自定義廣播事件。我們需要做的是,在主活動中寫發送廣播的代碼,然後在接收廣播的類中寫接收廣播的代碼。 1、主活動中點擊按鈕後發送廣播 MainActivity.java
Django自定義url(path)轉換器
需求1: 實現一個獲取電影列表的demo,使用者可以根據/movie/電影分類/的方式來獲取電影。其中電影分類採用的是分類1+分類2+分類3...的方式拼接的,並且如果只有一個分類,那就不需要加號。示例如下: # 1. 第一種:獲取action分類下的電影 /movie/action
自定義 Laravel (monolog)日誌位置,並增加請求ID
修改 bootstrap/app.php 檔案 $app->configureMonologUsing(function($monolog) use ($app) { $monolog->pushHandler( (new Monolog\Hand
Spring自定義Listener(監聽器)的使用
文章轉自:https://blog.csdn.net/L253272670/article/details/77715899 在java web專案中我們通常會有這樣的需求:當專案啟動時執行一些初始化操作,例如從資料庫載入全域性
左滑刪除 --- 自定義元件(優化)
想來想去 還是先引入元件吧 http://bmob-cdn-20610.b0.upaiyun.com/2018/11/20/736355a740c835f9806ee0d021ff6696.rar 複製以上鍊接 直接下載 之後壓縮 放進你的專案
解析網頁自定義字型(二)
解析網頁自定義字型(二) 介紹 背景知識 TrueType字型 fontTools 字型檔案解析庫 xml.dom.minidom xml程式碼解析庫 matplotlib 繪圖工具包 pytesseract oc
自定義View(1)
點操作:moveTo和lineTo和rLinneTo的理解 1、lineTo 用於進行直線繪製。起點預設為座標原點(左上),如果有path的存在,則是繪製的最後點為基準,座標點對應的(0,0)到lineTo(x,y)的偏移量 比如 /** * 線操作 * lineTo的偏移量相對於原
微信開發學習總結(四)——自定義選單(5)——個性化選單介面
一、個性化選單介面說明 為了幫助公眾號實現靈活的業務運營,微信公眾平臺新增了個性化選單介面,開發者可以通過該介面,讓公眾號的不同使用者群體看到不一樣的自定義選單。該介面開放給已認證訂閱號和已認證服務號。 開發者可以通過以下條件來設定使用者看到的選單: 1、使用者標籤(開發者的
微信開發學習總結(四)——自定義選單(4)——自定義選單事件推送
一、自定義選單事件推送介面說明 使用者點選自定義選單後,微信會把點選事件推送給開發者,請注意,點選選單彈出子選單,不會產生上報。請注意,第3個到第8個的所有事件,僅支援微信iPhone5.4.1以上版本,和Android5.4以上版本的微信使用者,舊版本微信使用者點選後將沒有迴應,開
微信開發學習總結(四)——自定義選單(3)——自定義選單刪除介面
自定義選單刪除介面 使用介面建立自定義選單後,開發者還可使用介面刪除當前使用的自定義選單。另請注意,在個性化選單時,呼叫此介面會刪除預設選單及全部個性化選單。 請求說明 http請求方式:GET https://api.weixin.qq.com/cgi-bin/menu/d
微信開發學習總結(四)——自定義選單(2)——自定義選單查詢介面
自定義選單查詢介面 使用介面建立自定義選單後,開發者還可使用介面查詢自定義選單的結構。另外請注意,在設定了個性化選單後,使用本自定義選單查詢介面可以獲取預設選單和全部個性化選單資訊。 請求說明 http請求方式:GET https://api.weixin.qq.com/cg
微信開發學習總結(四)——自定義選單(1)——自定義選單建立介面
一、自定義選單建立介面說明 自定義選單能夠幫助公眾號豐富介面,讓使用者更好更快地理解公眾號的功能。開啟自定義選單後,公眾號介面如圖所示: 請注意: ①自定義選單最多包括3個一級選單,每個一級選單最多包含5個二級選單。 ②一級選單最多4個漢字,二級選單最多7個漢字,多出來的部分將
Android自定義View(三)-Draw原理篇
Android自定義View通常需要經過measure、layout和draw過程。 如果你沒有了解過measure過程,可以先看看這篇文章。 如果你沒有了解過layout過程,可以先看看這篇文章。 一、draw的作用:繪製View檢視 二、draw過程:類似meas
MySql建立自定義函式(Function)
1.建立自定義函式 DELIMITER $$ DROP FUNCTION IF EXISTS genPerson$$ CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50) BEGIN DECLAR
Android 自定義View(一)
前言:可是有時候我們總感覺官方定義的一些基本元件不夠用,自定義元件就不可避免了。那麼如何才能做到像官方提供的那些元件一樣用xml來定義他的屬性呢? 先總結下自定義View的步驟: 1、自定義View的屬性; 2、在View的構造方法中獲得自定義的屬性。 一、在re
自定義View(三) Matrix的原理解析
Matrix的英文是矩陣的意思,在Android中它起著座標對映、變換的功能。意思就是說我們在自定義view的時候,有時需要對圖表進行縮放、旋轉、轉移、錯切等操作,就需要對圖表的座標進行一定的轉換,此時就是Matrix在後臺起著轉換的作用。Matrix是一個三行三列的矩陣,大概長成下面那樣子,如