iOS--UISearchBar 屬性、方法詳解及應用(自定義搜索框樣式)

2020-12-11 舊事回首站

很多APP都會涉及到搜索框,蘋果也為我們提供了默認的搜索框UISearchBar。但實際項目中我們通常需要更改系統默認搜索框的樣式。為了實現這一目標,我們需要先搞懂 UISearchBar 的屬性及方法。在系統的掌握了這些基礎的前提下才能更好的去應用它,包括修改樣式、或者是模仿系統搜索框的樣式自定義一個自己的搜索框等。

本文主要介紹內容分為以下三個部分:

UISearchBar 的屬性

UISearchBar 的方法

自定義 UISearchBar 的樣式

1. UISearchBar 的屬性

介紹之前先說一下 UISearchBar 的初始化方法:UISearchBar 是 UIView 的子類,它的初始化方法有三種:

- (instancetype)init

- (instancetype)initWithFrame:(CGRect)frame

- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder

這三個初始化方法是我們常見的初始化 UIView 以及它的子類的方法,比較常見,而且也不是介紹重點,所以這裡不展開說明。

1.1 搜索框風格

屬性

// 搜索框風格

@property(nonatomic) UIBarStyle barStyle;

UIBarStyle 有四種枚舉值,但後兩種已經禁用。

typedef NS_ENUM(NSInteger, UIBarStyle) {

UIBarStyleDefault //白色搜索框,灰色背景

UIBarStyleBlack //黑色搜索框,

UIBarStyleBlackOpaque = 1, // 禁用. Use UIBarStyleBlack

UIBarStyleBlackTranslucent = 2, // 禁用. Use UIBarStyleBlack and set the translucent property to YES

}

效果圖:

UIBarStyleDefault 樣式

UIBarStyleBlack樣式

1.2 搜索的文本、搜索框頂部的提示信息、佔位符

屬性

// 搜索的文本

@property(nullable,nonatomic,copy) NSString *text;

// 搜索框頂部的提示信息

@property(nullable,nonatomic,copy) NSString *prompt;

// 佔位符,默認nil, 若有值則在輸入文本後消失

@property(nullable,nonatomic,copy) NSString *placeholder;

效果圖:

prompt 和 placeholder

輸入文本為 text 後 placeholder 消失

1.3 搜索框右側的按鈕

屬性

// 搜索框右側是否顯示圖書按鈕

@property(nonatomic) BOOL showsBookmarkButton;

//搜索框右側是否顯示取消按鈕

@property(nonatomic) BOOL showsCancelButton;

//搜索框右側是否顯示搜索結果按鈕

@property(nonatomic) BOOL showsSearchResultsButton;

// 搜索結果按鈕為選中狀態

@property(nonatomic, getter=isSearchResultsButtonSelected) BOOL searchResultsButtonSelected;

以上四個屬性的默認值都是 NO

效果圖:

showsBookmarkButton = YES 效果

showsCancelButton = YES 效果

showsSearchResultsButton = YES 效果

searchResultsButtonSelected = YES 效果,要結合showsSearchResultsButton = YES使用

1.4 風格顏色、背景顏色

屬性

// 風格顏色,可用於修改輸入框的光標顏色,取消按鈕和選擇欄被選中時候都會變成設置的顏色

@property(null_resettable, nonatomic,strong) UIColor *tintColor;

// 搜索框背景顏色

@property(nullable, nonatomic,strong) UIColor *barTintColor;

測試代碼

self.tintColor = [UIColor orangeColor]; //設置光標顏色為橘色

self.barTintColor = [UIColor grayColor]; //設置搜索框背景顏色為灰色

效果圖:

tintColor 和 barTintColor

1.5 搜索框樣式

屬性

// 搜索框樣式

@property (nonatomic) UISearchBarStyle searchBarStyle

它有三種枚舉值:

typedef NS_ENUM(NSUInteger, UISearchBarStyle) {

UISearchBarStyleDefault, // 默認樣式,和UISearchBarStyleProminent 一樣

UISearchBarStyleProminent, // 顯示背景,常用在my Mail, Messages and Contacts

UISearchBarStyleMinimal // 不顯示背景,系統自帶的背景色無效,自定義的有效,常用在Calendar, Notes and Music

}

效果圖:

UISearchBarStyleMinimal 不顯示背景

UISearchBarStyleDefault 和 UISearchBarStyleProminent 都顯示背景

1.6 搜索欄的附件選擇按鈕視圖

屬性

// 選擇按鈕試圖的按鈕標題

@property(nullable, nonatomic,copy) NSArray *scopeButtonTitles ;

// 選中的按鈕下標值 ,默認 0. 如果超出範圍則忽略

@property(nonatomic) NSInteger selectedScopeButtonIndex ;

// 是否顯示搜索欄的附件選擇按鈕視圖

@property(nonatomic) BOOL showsScopeBar;

測試代碼

self.placeholder = @"搜索";

self.showsScopeBar = YES;

self.scopeButtonTitles = @[@"One", @"Two", @"Three"];

self.selectedScopeButtonIndex = 1;

效果圖:

帶選擇按鈕視圖的搜索欄

1.7 搜索框背景圖片、搜索框附屬分欄條的背景顏色

屬性

// 搜索框背景圖片

@property(nullable, nonatomic,strong) UIImage *backgroundImage;

// 搜索框附屬分欄條的背景顏色

@property(nullable, nonatomic,strong) UIImage *scopeBarBackgroundImage;

測試代碼

//設置搜索框背景圖片

UIImage *backgroundImage = [UIImage imageNamed:@"image001"];

self.backgroundImage = backgroundImage;

//搜索框附屬分欄條的背景顏色

UIImage *scopeBarBackgroundImage = [UIImage imageNamed:@"image002"];

self.scopeBarBackgroundImage = scopeBarBackgroundImage;

效果圖:

設置backgroundImage 和 scopeBarBackgroundImage

1.8 索框中文本框的背景偏移量和文本偏移量

屬性

// 搜索框中文本框的背景偏移量

@property(nonatomic) UIOffset searchFieldBackgroundPositionAdjustment;

// 搜索框中文本框的文本偏移量

@property(nonatomic) UIOffset searchTextPositionAdjustment;

測試代碼

self.searchFieldBackgroundPositionAdjustment = UIOffsetMake(5, 3);

self.searchTextPositionAdjustment = UIOffsetMake(10, 5);

效果圖:

設置偏移量前後對比圖

PS: UITextInputAssistantItem *inputAssistantItem 、BOOL translucent 、UIView *inputAccessoryView 經過測試這三個屬性並不太清楚具體實現效果,之後會繼續深入了解一下,記在這裡,作為提醒,如果有誰剛好了解它們,希望能夠給與幫助,非常感謝。

2. UISearchBar 的方法

2.1 設置是否動畫效果的顯示或隱藏取消按鈕

方法:

// 設置是否動畫效果的顯示或隱藏取消按鈕

- (void)setShowsCancelButton:(BOOL)showsCancelButton animated:(BOOL)animated

通常在開始編輯文本時將調用該方法,讓取消按鈕顯示出來。

測試代碼:

-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {

NSLog(@"開始輸入搜索內容");

[searchBar setShowsCancelButton:YES animated:YES]; // 動畫顯示取消按鈕

}

效果圖:

setShowsCancelButton: animated:

2.2 設置 (獲取) 搜索框背景圖片、選擇按鈕視圖的背景圖片、文本框的背景圖片

方法:

// 1.設置搜索框背景圖片

- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics

// 獲取置搜索框背景圖片

- (nullable UIImage *)backgroundImageForBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics

// 2.設置選擇按鈕視圖的背景圖片

- (void)setScopeBarButtonBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state

// 獲取選擇按鈕視圖的背景圖片

- (nullable UIImage *)scopeBarButtonBackgroundImageForState:(UIControlState)state

// 3.設置搜索框文本框的背景圖片

- (void)setSearchFieldBackgroundImage:(nullable UIImage *)backgroundImage forState:(UIControlState)state

// 獲取搜索框文本框的背景圖片

- (nullable UIImage *)searchFieldBackgroundImageForState:(UIControlState)state

測試代碼:

self.showsScopeBar = YES;

self.scopeButtonTitles = @[@"One", @"Two", @"Three"];

self.selectedScopeButtonIndex = 1;

// 設置搜索框背景圖片

[self setBackgroundImage:[UIImage imageNamed:@"image001"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];

// 設置選擇按鈕視圖的背景圖片

[self setScopeBarButtonBackgroundImage:[UIImage imageNamed:@"image002"] forState:UIControlStateNormal];

// 設置搜索框文本框的背景圖片

[self setSearchFieldBackgroundImage:[UIImage imageNamed:@"image003"] forState:UIControlStateNormal];

效果圖:

設置搜索框背景圖片、選擇按鈕視圖的背景圖片、文本框的背景圖片

我們可以觀察一下選擇按鈕視圖的背景圖片,發現這個圖片只是設置在三個按鈕的底部視圖,而大的外面的空餘背景依舊是灰色,對比1.7中使用屬性UIImage *scopeBarBackgroundImage 設置的背景圖片,發現使用屬性設置背景圖片不會有空餘的灰色背景,該屬性針對的是大的scopeBar, 而不是一個scopeBarButton,這一點需要注意區分。

2.3 設置(獲取)搜索框的圖標(包括搜索圖標、清除輸入的文字的圖標、圖書圖標、搜索結果列表圖標)

屬性

// 設置搜索框的圖標

- (void)setImage:(nullable UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;

// 獲取搜索框的圖標

- (nullable UIImage *)imageForSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state;

搜索框圖標 UISearchBarIcon 有四個枚舉值:

typedef NS_ENUM(NSInteger, UISearchBarIcon) {

UISearchBarIconSearch, // 搜索框放大鏡圖標

UISearchBarIconClear , // 搜索框右側可用於清除輸入的文字的圖標x

UISearchBarIconBookmark , // 搜索框右側的圖書圖標

UISearchBarIconResultsList , // 搜索框右側的搜索結果列表圖標

};

測試代碼

self.placeholder = @"搜索";

self.showsSearchResultsButton = YES;

// 設置搜索框放大鏡圖標

UIImage *searchIcon = [UIImage imageNamed:@"searchIcon"];

[self setImage:searchIcon forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];

// 設置搜索結果列表圖標

UIImage *resultListIcon = [UIImage imageNamed:@"arrow"];

[self setImage:resultListIcon forSearchBarIcon:UISearchBarIconResultsList state:UIControlStateNormal];

效果圖

重新設置搜索框搜索圖標和顯示結果列表的圖標

可以發現搜索圖標和搜索結果列表圖標已經改變,至於其他的兩個圖標仿照上面代碼修改即可實現。

2.4 設置(獲取)選擇按鈕視圖的分割線圖片、按鈕上顯示的標題樣式

方法

// 設置選擇按鈕視圖的分割線圖片

- (void)setScopeBarButtonDividerImage:(nullable UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;

// 獲取選擇按鈕視圖的分割線圖片

- (nullable UIImage *)scopeBarButtonDividerImageForLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;

// 設置選擇按鈕視圖的標題樣式

- (void)setScopeBarButtonTitleTextAttributes:(nullable NSDictionary *)attributes forState:(UIControlState)state;

// 獲取選擇按鈕視圖的標題樣式

- (nullable NSDictionary *)scopeBarButtonTitleTextAttributesForState:(UIControlState)state

測試代碼

self.showsScopeBar = YES;

self.scopeButtonTitles = @[@"One", @"Two", @"Three", @"Four"];

// 設置選擇按鈕視圖的分割線圖片為一個橘色的線條

[self setScopeBarButtonDividerImage:[UIImage imageNamed:@"divider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal];

// 設置選擇按鈕視圖的標題樣式為20號橘色空心的系統字體

NSDictionary *attributeDic = @{NSFontAttributeName : [UIFont systemFontOfSize:20] , NSStrokeColorAttributeName : [UIColor orangeColor] , NSStrokeWidthAttributeName : @(3)};

[self setScopeBarButtonTitleTextAttributes:attributeDic forState:UIControlStateNormal];

效果圖

設置選擇按鈕視圖的分割線圖片和按鈕上顯示的標題樣式的效果圖

2.5 設置(獲取)搜索框四種圖標的偏移量

(評論裡的小夥伴說不管怎樣運行搜索圖標總是在左邊,測試後發現在iOS11系統上搜索圖標默認在左邊,而我當時寫文章時沒有升級模擬器為iOS11,所以非常感謝她的評論,不然自己也沒注意到。總之就是如果想要更改搜索圖標的位置,可以使用這個方法哦,親測有效)

方法

// 設置搜索框圖標的偏移量

- (void)setPositionAdjustment:(UIOffset)adjustment forSearchBarIcon:(UISearchBarIcon)icon;

// 獲取搜索框圖標的偏移量

- (UIOffset)positionAdjustmentForSearchBarIcon:(UISearchBarIcon)icon;

測試代碼

self.placeholder = @"搜索";

[self setPositionAdjustment:UIOffsetMake(15, 5) forSearchBarIcon:UISearchBarIconSearch];

效果圖

設置搜索圖標向有偏移15個單位,向下偏移5個單位後的效果圖

2.6 UISearchBarDelegate代理方法

方法

// 1. 將要開始編輯文本時會調用該方法,返回 NO 將不會變成第一響應者

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar;

// 2. 開始輸入文本會調用該方法

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar;

// 3. 將要結束編輯文本時會調用該方法,返回 NO 將不會釋放第一響應者

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar;

// 4. 結束編輯文本時調用該方法

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar;

// 5. 文本改變會調用該方法(包含clear文本)

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText;

// 6. 文字改變前會調用該方法,返回NO則不能加入新的編輯文字

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text ;

// 7. 鍵盤上的搜索按鈕點擊的會調用該方法

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar;

// 8. 搜索框右側圖書按鈕點擊會調用該方法

- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar ;

// 9.點擊取消按鈕會調用該方法

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar;

// 10.搜索結果列表按鈕被按下會調用該方法

- (void)searchBarResultsListButtonClicked:(UISearchBar *)searchBar ;

// 11. 搜索框的附屬按鈕視圖中切換按鈕會調用該方法

- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope;

測試代碼

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {

return YES;

}

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {

searchBar.prompt = @"1.開始編輯文本";

[searchBar setShowsCancelButton:YES animated:YES]; // 動畫效果顯示取消按鈕

}

- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

return YES;

}

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {

searchBar.prompt = @"2.在改變文本過程中。。。";

}

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {

searchBar.prompt = @"3. 點擊鍵盤上的搜索按鈕";

}

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {

searchBar.prompt = @"4. 點擊取消按鈕";

searchBar.text = @"";

[self setShowsCancelButton:NO animated:YES];

// 如果希望在點擊取消按鈕調用結束編輯方法需要讓加上這句代碼

//[searchBar resignFirstResponder];

}

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar{

return YES;

}

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {

searchBar.prompt = @"5.已經結束編輯文本";

}

效果圖

點擊取消按鈕但沒有釋放搜索框的第一響應者身份效果圖:

gif1

點擊取消按鈕用時釋放搜索框的第一響應者身份會調用結束編輯文本的方法:

gif2

3. 自定義 UISearchBar 的樣式

在自定義UISearchBar 樣式之前我們先來看一下UISearchBar的組成:

UISearchBar層次結構截圖

根據這個截圖我們可以概括為下圖:

簡單概括的UISearchBar層次結構

根據這個簡單的層次結構圖,我們可以更好的了解UISearchBar的組成部分,這樣有助於我們更方便的進行自定義樣式,下面開始自定義樣式!

目標搜索框樣式

首先看一下目標樣式

目標搜索框樣式.gif

實現代碼

代碼中添加約束和自定義顏色可參考之前寫的兩篇文章:約束和自定義顏色

// 委託

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {

[searchBar setShowsCancelButton:YES animated:YES];

}

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {

searchBar.text = @"";

[self setShowsCancelButton:NO animated:YES];

[searchBar resignFirstResponder];

}

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {

self.voiceButton.hidden = searchText.length > 0 ? YES : NO;

}

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {

self.voiceButton.hidden = NO;

}

// 樣式設計

- (void)modifyStyleByTraversal {

// 修改搜索框背景圖片為自定義的灰色

UIColor *backgroundImageColor = [UIColor colorwithHex:0xE3DFDA];

UIImage* clearImg = [self imageWithColor:backgroundImageColor andHeight:45.0];

self.backgroundImage = clearImg;

// 修改搜索框光標顏色

self.tintColor = [UIColor P2Color];

// 修改搜索框的搜索圖標

[self setImage:[UIImage imageNamed:@"searchIcon"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];

for (UIView *view in self.subviews.lastObject.subviews) {

if([view isKindOfClass:NSClassFromString(@"UISearchBarTextField")]) {

UITextField *textField = (UITextField *)view;

//添加話筒按鈕

[self addVoiceButton:textField];

//設置輸入框的背景顏色

textField.clipsToBounds = YES;

textField.backgroundColor = [UIColor P1Color];

//設置輸入框邊框的圓角以及顏色

textField.layer.cornerRadius = 10.0f;

textField.layer.borderColor = [UIColor P2Color].CGColor;

textField.layer.borderWidth = 1;

//設置輸入字體顏色

textField.textColor = [UIColor P2Color];

//設置默認文字顏色

textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@" 搜索" attributes:@{NSForegroundColorAttributeName:[UIColor P2Color]}];

}

if ([view isKindOfClass:NSClassFromString(@"UINavigationButton")]) {

UIButton *cancel = (UIButton *)view;

[cancel setTitle:@"取消" forState:UIControlStateNormal];

[cancel setTitleColor:[UIColor P2Color] forState:UIControlStateNormal];

}

}

}

// 畫指定高度和顏色的圖片

- (UIImage*) imageWithColor:(UIColor*)color andHeight:(CGFloat)height {

CGRect rect = CGRectMake(0.0, 0.0, 1.0, height);

UIGraphicsBeginImageContext(rect.size);

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [color CGColor]);

CGContextFillRect(context, rect);

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}

// 添加話筒按鈕

- (void)addVoiceButton:(UIView *)view {

if (!self.voiceButton) {

self.voiceButton = [UIButton buttonWithType:UIButtonTypeCustom];

}

[self.voiceButton setImage:[UIImage imageNamed:@"voice"] forState:UIControlStateNormal];

[self.voiceButton addTarget:self action:@selector(say) forControlEvents:UIControlEventTouchUpInside];

[view addSubview:self.voiceButton];

self.voiceButton.translatesAutoresizingMaskIntoConstraints = NO;

[self.voiceButton addWidthConstraint:15];

[self.voiceButton addHeightConstraint:15];

[self.voiceButton addTopConstraintToView:view constant:8];

[self.voiceButton addTrailingConstraintToView:view constant:- 15];

}

// 點擊話筒觸發該方法

- (void)say {

// self.prompt = @"在講話哦!";

}

補充:修改UISearchBar寬高

UISearchBar 有默認的布局樣式,我們想要修改他的寬高,需要重寫layoutSubviews 方法。然後在這個方法裡面修改UISearchBarTextField的寬高。

實現代碼

- (void)layoutSubviews {

[super layoutSubviews];

UITextField *textField = [self valueForKey:@"searchBarTextField"];

if (textField) {

textField.frame = CGRectMake(50, 10, self.bounds.size.width - 100, 35);

}

}

效果圖:

自定義搜索框的寬高

作者:遇見0620

連結:https://www.jianshu.com/p/7e49a1c656e7

相關焦點

  • Python--pandas表格樣式設置
    pandas的DataFrame類擁有style屬性,style屬性返回Styler類,Styler類的applymap和apply等方法可以很方便的對表格樣式做自定義調整。環境快速了解先通過一個實例快速了解style的設置方法和效果。
  • CSS自定義滾動條樣式
    相信很多人都遇到過在設計中自定義滾動條樣式的情景,之前我都是努力說服設計師接受瀏覽器自帶的滾動條樣式,但是這樣只能規避還是解決不了問題,最近在項目中遇到了,正好來總結一下。當然,兼容所有瀏覽器的滾動條樣式目前是不存在的。
  • CAD中塊定義屬性在標高中應用的總結
    1、CAD中塊定義屬性在標高中應用的必要性:這麼多地方需要用標高來表示構件在高度方向上的位置,若我們在CAD中還採用標高符號和文字輸入組合或者標高和文字組合後創建塊的方式,都有很多弊端,如第一種組合弊端因不是整體對象,故在複製或移動等編輯標高時可能丟失文字或這丟失標高符號中某個對象,第二種組合弊端因創建塊獨特性,塊名若是相同情況下
  • CAD中塊的屬性定義的使用方法及其完整的操作流程
    則必須引入塊的屬性定義的概念。塊的屬性定義在同一個塊名中的應用1、塊的屬性定義:給某個對象賦予一個屬性值,並通過創建塊或者寫塊命令使屬性值和對象形成一個整體,這個屬性值即為塊的屬性定義2、塊的屬性定義打開方式:①菜單方式:「繪圖」/「塊」/「定義屬性」;②快捷鍵方式:命令欄中輸入快捷鍵「ATT」;3、塊的屬性定義操作步驟:①打開塊的屬性定義對話框:命令欄方式輸入塊的屬性定義快捷鍵「ATT
  • 清楚Excel自定義格式方法
    Excel2016版已經修復了複製工作表會複製無關樣式。一、問題  Excel體積大,原因是定義了許多無用的樣式,樣式表位於styles.xml。將一個Excel文件複製到另一個文件,會把所有無關的樣式全部複製,導致文件體積越來越大。
  • Python用PyQt5實現多種彈出消息框,QMessageBox控制項使用詳解
    Python界面編程之PyQt5常見控制項應用展示,單選鈕和複選鈕使用詳解各種樣式的消息對話框在PyQt5中定義了一系列的標準對話框類,讓調用者能夠方便和快捷地通過各個類完成相應的操作。這種對話框類都是標準化的,當然,我們也可以自定義相應的內容。
  • 手機端iOS&Android模態界面對比【2019新版】
    先看一下維基百科對於「模態窗口」 (Modal window)的解釋:「在計算機應用程式的用戶界面設計中,模態窗口是從屬於主窗口的圖形控制元素。它創建一種樣式,使主窗口禁用但保持可見,模態窗口作為子窗口展示在其上方。用戶必須與模態窗口進行交互,才能返回父應用程式。這可以避免中斷主窗口的工作流程。模態窗口有時被稱為重窗口或者模態對話框,因為他們通常顯示為對話框。」
  • 觀看視頻時自定義CC字幕字體樣式方法
    手機端CC字幕設置方法:CC字幕對於歐美國家而言是國家強制標準,所以凡是大品牌手機廠商在設置裡面都可以找到自定義字幕的方法,如字體、背景、顏色、大小、輪廓等樣式。如果是不往歐美國家銷售的手機品牌可能找不到這項功能。
  • 微信小程序開發button組件如何自定義樣式
    據統計,未來將會有90%的用戶被APP分割,而目前已經慢慢出現分化,有問題百度一下,找服務小程序搜索一下,這也是為什麼小程序目前如此之火的原因之一。微信小程序之所以受歡迎,原因在於能在最短時間解決用戶的需求,那麼如何自定義自己想要的樣式呢?
  • 矩形框:深度理解和應用元件樣式一
    矩形框,在Axure自帶的元件庫裡,是一個普通的不能再普通的元件。系統提供三種類型,有邊框白色背景、無邊框淺灰色背景和無邊框深灰色背景。然而,我們有時候可能小看了這個元件。畢竟,只是一個矩形框而已,能有多大的用處呢?下面,我們從矩形框的基本樣式設置、交互樣式設置和屬性設置三個方面,來看看矩形框到底有多麼的有用。
  • windows系統開始菜單沒有搜索框的兩種解決辦法
    用搜索查找的東西快一些,但是開始菜單裡的搜索找不到了,有很多的人有同樣的問題吧,下面分享windows系統開始菜單沒有搜索框的兩種解決辦法,需要的朋友可以參考下用搜索查找的東西快一些,但是開始菜單裡的搜索找不到了,有很多的人有同樣的問題吧,別著急,我寫了一篇關於如何解決菜單搜索不見了的經驗,菜單搜索沒 見了,不會操作的電腦的,可以看看我的經驗,希望我的經驗可以幫助到了你哦
  • 使用HTML DIV+CSS樣式+JavaScript實現自定義個性化的模態窗口
    圖1圖1就是一個使用DIV+CSS自定義的一個模態窗口,其優點是個性化強,根據系統要求完全自行設計,而系統窗口是無法做到的。,position屬性主要用來設置元素的定位。如果要使一個DIV相對於整個瀏覽器定位,並且是全屏顯示,帶背景色,則可以設置如下CSS樣式:<!
  • 小程序自定義標題欄從入門到放棄(總結)
    由於最近的開發需求需要自定義標題欄,開始研究一下這方面的知識。在網上查詢了一下資料,發現自定義標題欄還是挺簡單的。那麼如何自定義頭部呢?通過在app.js中設置navigationStyle屬性,默認值為『default』,自定義為『custom』。
  • iOS入門基礎
    iOS框架層次 一、從底層到應用層 (一)core os -> core services -> media ->cocoa touch 核心系統->核心服務->媒體服務層->可觸摸層
  • 詳解微信小程序自定義組件(一)
    好吧,突然發現學不完了,一下子,那就分開吧,由於時間太久,直接重新大致複習了一下微信小程序自定義組件微信小程序支持自定義組件下方的目錄其中,components為組件目錄,nodemodules為模塊目錄,pages為小程序的頁面目錄,utils為一些基礎功能的封裝。好比安裝的第三方百度統計功能在此。
  • word中快速應用表格樣式及表格樣式的修改——想像力電腦應用
    在word 2013軟體中,提供了豐富的表格樣式庫,對於不經常操作表格或者是對表格的參數設置不是太熟練的初學都,我們可以利用「表格樣式庫」功能快速的製作出美觀的表格文檔;如果樣式不能很好的滿足我們的應用要求,我們也可以進行自定義設置表格的樣式。
  • 《怪物獵人世界》武器怎樣自定義升級 武器自定義升級系統詳解
    導 讀 怪物獵人世界武器自定義升級系統怎麼用?
  • 蘋果ios14被建議通過「位置」自定義勿擾模式
    蘋果ios14被建議通過「位置」自定義勿擾模式  從智慧型手機誕生到現在,我們已經看到從移動通信到真正掌上電腦的轉變。隨著應用變得越來越複雜,我們需要一些隨時的通知。但目前還沒法做到有效區分密切聯繫人和新聞等通知的推送。隨著蘋果繼續開發iPhone,我們獲得了「勿擾模式」和「駕駛時勿擾模式」之類的功能。
  • PS教程工具篇,四種類型的選框工具屬性的詳解
    前面給大家講解了,移動工具的運用,今天給大家講一下選框工具,選框工具就是用來建立選區的工具,選框工具分為四類:矩形選框工具,橢圓選框工具,單行選框工具,單列選框工具。學工具,要先看屬性。矩形選框工具橢圓選框工具單行選框工具單列選框工具矩形選框工具有7條屬性
  • 將CSS樣式代碼應用到HTML頁面的幾種方式
    今天跟大家聊一聊將CSS樣式應用到網頁的幾種方式。大家好!今天跟大家聊一聊將CSS樣式應用到網頁的幾種方式。CSS的代碼須應用到HTML頁面中才能達到樣式設定的目的。應用方法一般有三種:行內式、內嵌式和連結式。