iOS搜尋框樣例
每個App的搜尋介面下邊都會有熱門搜尋,歷史搜尋之類的標籤,這裡介紹個框架,
既可以非常容易實現標籤類的不規則流式佈局,也可以實現固定寬度和高度的佈局,也
支援Autolayout,使用起來也是非常舒服。SKTagView原框架下只有根據文字寬度不固
定的的模式,那麼如果需求有固定寬高模式的,老規矩,只能改原始碼了.
請看圖:
傳統模式:
TableView cell模式的不規則模式和固定寬高模式:
電影放完了,開始簡單介紹下
這裡有兩個能用到的地方(截圖來自淘寶)
OK,根據以上兩個用途,寫了兩個簡單的Demo,無需再繁瑣的計算了,直接匯入
SKTagView來進行佈局,非常簡單
Demo1
首先:
建立一個UISearchBar來進行模擬搜尋
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view from its nib.
-
UIView *titleView = [[UIView alloc] initWithFrame
- titleView.backgroundColor = [UIColor clearColor];
- self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 360, 44)];
- self.searchBar.delegate = self;
- self.searchBar.placeholder = @"請輸入要搜尋的文字";
-
// self.searchBar.showsCancelButton = YES;
- // 鍵盤確認按鈕的名字
- self.searchBar.returnKeyType = UIReturnKeyNext;
- // 把預設灰色背景浮層給去掉
- self.searchBar.backgroundColor = [UIColor clearColor];
- self.searchBar.backgroundImage = [UIImage new];
- UITextField *searBarTextField = [self.searchBar valueForKey:@"_searchField"];
- if (searBarTextField)
- {
- [searBarTextField setBackgroundColor:[UIColor colorWithRed:243/255.0 green:243/255.0 blue:243/255.0 alpha:1]];
- searBarTextField.borderStyle = UITextBorderStyleRoundedRect;
- searBarTextField.layer.cornerRadius = 5.0f;
- }
- else
- {
- // 通過顏色畫一個Image出來
- UIImage *image = [UIImage imageWithColor:[UIColor colorWithRed:243/255.0 green:243/255.0 blue:243/255.0 alpha:1] forSize:CGSizeMake(28, 28)];
- [self.searchBar setSearchFieldBackgroundImage:image forState:UIControlStateNormal];
- }
- [titleView addSubview:self.searchBar];
- self.navigationItem.titleView = titleView;
- [self.searchBar becomeFirstResponder];
- [self configTagView];
- }
來看看效果哈
但是你們有沒有覺得他右邊的Cancel一點都協調麼,要改了它,但是這東西
系統又沒有給屬性介面讓你改......
那麼試著咱們把SearchBar下面的Subviews統統打印出來看一下
咦???這個數組裡面只有個UIView麼,不科學啊,要不再撥開一層看看
NICE啊,這波操作可以啊,找到了,藏那麼裡面,既然找到了,就在這個代理方法裡面進行修改
- - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
- // (lldb) po self.searchBar.subviews[0].subviews
- // <__NSArrayM 0x7ffba1e08330>(
- // <UISearchBarBackground: 0x7ffba1c670e0; frame = (0 0; 360 44); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7ffba1c201a0>>,
- // <UISearchBarTextField: 0x7ffba1c905b0; frame = (0 0; 0 0); text = ''; clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x7ffba1c90360>>,
- // <UINavigationButton: 0x7ffba1c982c0; frame = (0 0; 53 30); opaque = NO; layer = <CALayer: 0x7ffba1c98800>>
- // )
- //
- // (lldb) po self.searchBar.subviews
- // <__NSArrayM 0x7ffba1e77280>(
- // <UIView: 0x7ffba1c8a470; frame = (0 0; 360 44); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x7ffba1c7ddc0>>
- // )
- searchBar.showsCancelButton = YES;
- for(UIView *view in [[[searchBar subviews] objectAtIndex:0] subviews]) {
- if([view isKindOfClass:[NSClassFromString(@"UINavigationButton") class]]) {
- UIButton * cancel =(UIButton *)view;
- [cancel setTitle:@"搜尋" forState:UIControlStateNormal];
- cancel.titleLabel.font = [UIFont systemFontOfSize:14];
- cancel.tintColor = [UIColor redColor];
- }
- }}
修改完後的效果(Mac這截圖效果也是醉了)
然後
我們來建立SKTagView,各種屬性已經加上註釋
- // 配置
- - (void)configTagView
- {
-
相關推薦
iOS搜尋框樣例
每個App的搜尋介面下邊都會有熱門搜尋,歷史搜尋之類的標籤,這裡介紹個框架, 既可以非常容易實現標籤類的不規則流式佈局,也可以實現固定寬度和高度的佈局,也 支援Autolayout,
基於轉角數為基準的廣度優先搜尋(樣例:連連看)
c++作業,設計一個簡單的連連看程式,建立一個 圖 ,然後每次輸入兩個座標,判斷是否可以消除,初次寫覺得廣搜可以完成(事實證明的確可以),但是略有些麻煩,本來想看老師的程式碼的,結果一下整個600來行的簡單模擬(八種情況,分別嘗試),太麻煩了,就查詢這方面的資料,《程式設計之
iOS搜尋框功能的實現/UISearchBar/UISearchController的使用,搜尋控制器框架
搜尋控制器框架 搜尋框功能的實現方法有多種: 1.使用UITextField自己封裝; 2.UISearchBarController 3.UISearchBar =========================== 舉例一:searchBarCon
iOS搜尋框的實現
搜尋框是我們在實際開發中比較常用到的控制元件之一,可以說幾乎每一個應用程式中都會使用到搜尋框,例如QQ、微信等都用到了搜尋框 iOS中的搜尋框實現起來相對簡單一點,實現方法大致有iOS8.0之前的利用UISearchBar和UIDisplayController實現,這
最簡單的基於FFmpeg的移動端樣例:IOS HelloWorld
目的 mes 真機 roo mux 能夠 ted 配置 details =====================================================最簡單的基於FFmpeg的移動端樣例系列文章列表:最簡單的基於FFmpeg的移動端樣例:An
最簡單的基於FFmpeg的移動端樣例:IOS 視頻解碼器
視頻播放 contex avcodec video pad align b+ getc tar =====================================================最簡單的基於FFmpeg的移動端樣例系列文章列表:最簡單的基於FFm
點選某列表介面上的某按鈕時調出來另一個設計項的列表介面,選中被調出的列表介面上的值時彈出【資料框】能輸入資料的程式碼樣例
//例如:【出庫管理】設計項的列表介面上有一個【出庫】按鈕,點擊出庫按鈕時調出【入庫管理】設計項的列表介面,選中【入庫管理】列表介面上的一條記錄時,彈出輸入框,程式碼樣例如下 function(button, e) { debugger; // 中斷除錯指令,可以手動刪除它
IOS中UISearchController搜尋框篩選功能實現
在之前的部落格中,我曾寫過一個搜尋框功能的一個實現!有時候,我們需要利用搜索框進行對資料的一個篩選,比如qq的聯絡人功能上面的搜尋篩選功能的實現! 廢話不多說,先直接上程式碼 首先我們建立一個繼承uitableview的控制器searchTableViewC
iOS UITableView加索引條和搜尋框Demo
#import "MainViewController.h" @implementation MainViewController { //資料來源陣列 NSMutableArray*_dataArray; //搜尋結果陣列 NSMutab
iOS 開發搜尋框
搜尋框製作: 1.遵守協議: UISearchBarDelegate 2.建立搜尋: UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, se
【Android自定義控制元件】仿IOS風格的搜尋框
IOS很多控制元件的設計都是很值得借鑑的存在,作為移動開發的初學者,我們可以把這種模仿等同於學畫、練字時為鑄就基礎的臨摹行為。達者為師,努力學習別人的優點吧。 這裡是仿IOS搜尋框風格的自定義控制元件,引用了http://blog.csdn.net/d
iOS--UISearchBar 搜尋框 的使用方法詳細
// UISearchBar的常用方法 搜尋框 UISearchBar *oneSearchBar = [[UISearchBar alloc] init]; oneSearchBar.frame = CGRectMake(0, 0, 320, 70
【程式碼筆記】iOS-scrollerView裡多個tableView加搜尋框
#import "RootViewController.h" #import "customCell.h" @interface RootViewController () @end @implementation RootViewController - (id)initWithNibName:(N
自定義EditText實現類iOS風格搜尋框
最近在專案中有使用到搜尋框的地方,由於其樣式要求與iOS的UISearchBar的風格一致。預設情況下,搜尋圖示和文字是居中的,在獲取焦點的時候,圖示和文字左移。但是在Android是並沒有這樣的控制元件(可能見識少,並不知道有)。通常情況下我們使用組合控制元件
怎樣把報表放到網頁中顯示(Web頁面與報表簡單集成樣例)
nal 嵌入 自己 rim 框架 ram art ner prim 1.問題描寫敘述 如今用戶開發的系統基本上趨向於BS架構的瀏覽器/server模式。這些系統可能由不同的語言開發。如HTML、ASP、JSP、PHP等。因此須要將制作好的報表嵌入到這些頁面中。 Fine
復雜進銷存樣例
src com 動態 mage log 主從 代碼生成器 1-1 http 為方便開發參考,實現復雜的交互及子從表的操作,後面版本將提供復雜的進銷存樣例,並集成代碼生成器生成復雜的表操作主要功能:主從表聯合顯示批量提交,批量導入彈窗選擇動態計算行等等... 復雜進銷存
最簡單的基於FFmpeg的AVDevice樣例(讀取攝像頭)
malloc projects == 格式 mac 跨平臺 buffer 版本 span =====================================================最簡單的基於FFmpeg的AVDevice樣例文章列表:最簡單的基於FFmp
最簡單的視音頻播放演示樣例7:SDL2播放RGB/YUV
pro big 更新 沒有 opaque support 解決 控制 mem =====================================================最簡單的視音頻播放演示樣例系列文章列表:最簡單的視音頻播放演示樣例1:總述最簡單的視音
一個簡單演示樣例來演示用PHP訪問表單變量
time 變量 value 購物車 size post方法 form sso val 首先編寫表單頁面orderform.html,用post方法請求服務端腳本文件:processorder.php orderform.html: <!DOCTYPE html&
Echarts 的樣例
typeof echarts gap java text 3-0 lines ansi eof jsp頁面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%