1. 程式人生 > >去除UITableView的邊框線,背景,邊框線設定

去除UITableView的邊框線,背景,邊框線設定

UITableViewStylePlain型別的UITableView去除邊框線有直接的屬性方法:
tableview.separatorStyle = UITableViewCellSeparatorStyleNone;

在UITableViewStyleGrouped型別的UITableView中
separatorColor=[UIColor clearColor];

1.去掉分隔線,背景:
去掉分隔線:
tableView.separatorStyle=UITableViewCellSeparatorStyleNone; //在syle為UITableViewStylePlain有效,隱藏了分隔線,但在UITableViewStyle為UITableViewStyleGrouped時不起作用.
或者用tableView.separatorColor=UIColor.clearColor;
去掉背景:
tableView.backgroundColor = UIColor.clearColor;
tableViewCell.backgroundColor=UIColor.clearColor;
注意:在UITableViewStyle為UITableViewStyleGrouped時,tableView所佔的高度大於行高的和。
tableView.scrollEnabled = NO; 禁用滾動
2.設定邊粗細及顏色:
self.layer.borderWidth=4.0;
self.layer.borderColor=[[UIColor redColor]CGColor];

UITableView每一行的高度預設是44,
4.在UITableView.h標頭檔案中,對NSIndexPath增加了類別,增加了section,row方法,分別獲取選擇的列索引,行索引。
@interface NSIndexPath (UITableView)

  • (NSIndexPath *)indexPathForRow:(NSUInteger)row inSection:(NSUInteger)section;

@property(nonatomic,readonly) NSUInteger section;
@property(nonatomic,readonly) NSUInteger row;

@end

  1. 給UITableViewCell的成員設定框架屬性後不起作用,解決辦法是在UITableViewCell的子類中重寫layoutSubviews,在其中改變一些屬性的值,例如下:

    • (void)layoutSubviews {
      [super layoutSubviews];
      self.imageView.bounds = CGRectMake(0,0,75,75);
      self.imageView.frame = CGRectMake(0,0,75,75);
      self.imageView.contentMode = UIViewContentModeScaleAspectFit;

    CGRect tmpFrame = self.textLabel.frame;
    tmpFrame.origin.x = 77;
    self.textLabel.frame = tmpFrame;

    tmpFrame = self.detailTextLabel.frame;
    tmpFrame.origin.x = 77;
    self.detailTextLabel.frame = tmpFrame;

}

6.UITableViewCell.selectionStyle設定選定時的單元格顏色。
7.重用單元格:測試發現在cellForRowAtIndexPath中,會alloc螢幕所顯示的數量+1個UITableViewCell,並且顯示每個單元格都會進入UITableViewCell函式呼叫。
重寫- (void)prepareForReuse; // if the cell is reusable (has a reuse identifier), this is called just before the cell is returned from the table view method dequeueReusableCellWithIdentifier:. If you override, you MUST call super.
單元格重用是重用它的記憶體分配,注意更新它的內容,以防內容出現混亂。

8.設定UITableViewCell的背景色將看不到效果。
可以先在window物件中新增圖片檢視,再新增透明背景的表格檢視,以透出背景。
9.四種UITableViewCellStyle
UITableViewCellStyleDefault, // Simple cell with text label and optional image view (behavior of UITableViewCell in iPhoneOS 2.x)
UITableViewCellStyleValue1, // Left aligned label on left and right aligned label on right with blue text (Used in Settings)
UITableViewCellStyleValue2, // Right aligned label on left with blue text and left aligned label on right (Used in Phone/Contacts)
UITableViewCellStyleSubtitle // Left aligned label on top and left aligned label on bottom with gray text (Used in iPod).
其中UITableViewCellStyleValue2 不支援cell.imageView。

四種訪問型別UITableViewCellAccessoryType:
UITableViewCellAccessoryNone,                   // don't show any accessory view
UITableViewCellAccessoryDisclosureIndicator,    // regular chevron. doesn't track
UITableViewCellAccessoryDetailDisclosureButton, // blue button w/ chevron. tracks
UITableViewCellAccessoryCheckmark               // checkmark. doesn't track
其中 UITableViewCellAccessoryDetailDisclosureButton 是藍色V型的按鈕,它響應按鈕點選;
        UITableViewCellAccessoryDisclosureIndicator 是灰色V型指示器,它響應單元格操作,導向子選單,

例:cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1
                                   reuseIdentifier:CellIdentifier] autorelease];
       cell.textLabel.text = @"字型大小";
       cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
       [email protected]"大";

還可以自定義設定accessoryView,替換accessoryType的內建效果。
例如顯示系統的加號圖示按鈕:cell.accessoryView=[UIButton buttonWithType:UIButtonTypeContactAdd];

10.可以繼承UITableViewCell來建立自定義的cell。
11.主動移除單元格選中狀態:
可以在didSelectRowAtIndexPath中延遲執行 [self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];實現。
12.刪除單元格:設定[tableview setEditing:YES];表格為編輯狀態。
滑動刪除功能。
刪除確認後,進入commitEditingStyle回撥函式。
13.移動表格:
在UITableViewController中提供了moveRowAtIndexPath方法。然後在其中寫移除和插入的方法。
14.表格排序是對數模型源排序,然後reloadData。
15.《祕籍2》11.17中介紹了搜尋表格。
UISearchBar和 UISearchDisplayController的使用
http://www.cnblogs.com/mobiledevelopment/archive/2011/08/04/2127633.html
16.索引功能,分組樣式
《祕籍2》11.18 分段加索引功能。帶有索引的表格特徵之一就是拖動時段頭浮動保持。
分組樣式是分段的進一步的展現形式。但蘋果公司建議不要使用帶有分組表格的分段索引。這樣右邊會顯的凌亂。
還可以定製表頭和腳註。

17.UIPickerView:
要從很長的列表中,或同時從多個表格中挑選,用UIPickerView。
它不適合作為應用程式的焦點,所以沒有UIPickerViewController類。可以把它放到UIActionSheet中,這可以方便的提供確定,取消按鈕。
它使用數字,而不是NSIndexPath建立索引。
它的大小固定:縱向320x216,橫向480x162,這與標準iPhone鍵盤尺寸相同。
iPickerView = [[UIPickerView alloc] initWithFrame:CGRectZero];
CGSize pickerSize = [iPickerView sizeThatFits:CGSizeZero];
沒有迴圈設定屬性,有的實現設定為很多行,模擬看起來像迴圈。
UIDatePicker內部使用了UIPickerView。

  1. heightForRowAtIndexPath先於cellForRowAtIndexPath執行。

19.UITableViewDataSource
//設定某行是否可編輯,如果有的行可編輯,有的不可編輯,會出現只有部分行向右移動的情況。但不影響功能。
- (BOOL)tableView:(UITableView )tableView canEditRowAtIndexPath:(NSIndexPath )indexPath
{
int section=[indexPath section];
if(section==1)
{
return NO;
}

if ([indexPath row]==0) 
{
    return NO;
}
return YES;

}

cell.imageView.image=image;//未選cell時的圖片
cell.imageView.highlightedImage=highlightImage;//選中cell後的圖片

//設定讓UITableView行縮排
-(NSInteger)tableView:(UITableView )tableViewindentationLevelForRowAtIndexPath:(NSIndexPath )indexPath{
NSUInteger row = [indexPath row];
return row;
}

//返回當前所選cell
NSIndexPath *ip = [NSIndexPath indexPathForRow:row inSection:section];
[TopicsTable selectRowAtIndexPath:ip animated:YESscrollPosition:UITableViewScrollPositionNone];

//設定UITableView的style
[tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];

//設定選中Cell的響應事件
- (void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];//選中後的反顯顏色即刻消失
}

//設定選中的行所執行的動作
-(NSIndexPath )tableView:(UITableView )tableViewwillSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
return indexPath;
}

//設定划動cell是否出現del按鈕,可供刪除資料裡進行處理
- (BOOL)tableView:(UITableView )tableView canEditRowAtIndexPath:(NSIndexPath)indexPath {
}

//設定刪除時編輯狀態
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{

//右側新增一個索引表
- (NSArray )sectionIndexTitlesForTableView:(UITableView )tableView{
}

(2) 其他
//選中cell時的顏色,在官方文件有如下可以選擇
typedef enum {
UITableViewCellSelectionStyleNone,
UITableViewCellSelectionStyleBlue,
UITableViewCellSelectionStyleGray
} UITableViewCellSelectionStyle

//cell右邊按鈕格式
typedef enum {
UITableViewCellAccessoryNone, //don’t show any accessory view
UITableViewCellAccessoryDisclosureIndicator, //regular chevron. doesn’t track
UITableViewCellAccessoryDetailDisclosureButton, //blue button w/ chevron. tracks
UITableViewCellAccessoryCheckmark //checkmark. doesn’t track
} UITableViewCellAccessoryType

//是否加換行線
typedef enum {
UITableViewCellSeparatorStyleNone,
UITableViewCellSeparatorStyleSingleLine
} UITableViewCellSeparatorStyle

//改變換行線顏色
tableView.separatorColor= [UIColor blueColor];

  1. UITableViewCell
    表中的每一行都代表一個UITableViewCell。可以使用影象、文字還有輔助的圖示等來自定義你自己的UITableViewCell。你可以自定義你自己的cell如下模型或者像appstore那樣的。
    \
    UITableViewCell為每個Cell提供了三個可以選擇的屬性,如下:
    l textLabel:填寫文字
    l detailTextLable:稍微詳細的副標題
    l imageView:用來顯示你cell的圖片,可以通過UIImage來載入。

相關推薦

去除UITableView邊框,背景邊框設定

UITableViewStylePlain型別的UITableView去除邊框線有直接的屬性方法: tableview.separatorStyle = UITableViewCellSeparatorStyleNone; 在UITableViewStyle

ant design (antd) Modal 自定義樣式去除白色背景邊框關閉按鈕

想實現功能如下: 這個Modal沒有頭,沒有確定什麼的。 因為Modal元件不能自定義外邊框,所以把所有的屬性全都刪掉之後: <Modal title={null} visible={this.state.visible}

android shape實現控制元件圓角背景邊框等屬性

接下來就是shape的講解: <spanstyle="font-size:18px;"><?xmlversion="1.0"encoding="utf-8"?><shapexmlns:android="http://schemas.andro

圖片文件如何進行在壓縮壓縮的方法

位置 自己 style 完成 等待 一個 遇到 在線 選擇 圖片怎麽進行壓縮,而且還是在線的壓縮,很多的時候我們會遇到各種各樣的圖片文件,隨著時間一長,圖片增加,我們的電腦手機就有卡頓的情況,圖片不可以刪除的話可以進行在線壓縮,下面教給大家一種在線壓縮軟件的操作方法。 1:

知識儲備—01-進程程相關總結

es6 uek wfs 基本 bmi tag 不同的 個數 執行過程 一、說說概念 1、進程(process) 狹義定義:進程就是一段程序的執行過程。 廣義定義:進程是一個具有一定獨立功能的程序關於某個數據集合的一次運行活動。它是操作系統動態執行的基本單元,在傳統的操作系

20190102(多守護程互斥鎖信號量JoinableQueue)

車間 set nbsp 線程互斥 queue lease start 互斥 property 多線程 多進程: 核心是多道技術,本質上就是切換加保存技術。 當進程IO操作較多,可以提高程序效率。 每個進程都默認有一條主線程。 多線程: 程序的執行線路,相當於一條流水

去除安卓自定義Dialog黑色背景設置無邊框透明

isf window bsp 希望 nbsp tle -name rep lan 我們在自定義Dialog的時候,往往會希望除去安卓系統定義背景和標題,以便於更好的顯示我們自己想要的效果。 其實我們只需要註意幾個地方就行了。 1.在Style文件的中定義Dialog的主題

解決element-ui的表格設置固定欄後邊框消失的bug

page name hid 解決 當前頁 clas com 固定欄 n) 如上圖所示,邊框線消失了,解決方法如下 添加css代碼,如果是修改全局,則到全局樣式文件添加 .el-table__row{ td:not(.is-hidden):last-child{ r

Android-如何給View新增邊框邊框顏色和的粗細可以自定義

一、使用場景 有時在開發中,遇到向表格形式的佈局,這時該怎麼辦? 如果只是簡單的一條橫線或者豎線,直接使用TextView控制元件,寬或者高固定1dp或者2dp,高或者寬match parent,在定義一個background="#FF0000",這樣就實現了單一的線條功能

android自定義圓角實邊框圓角虛線邊框直實虛實半圓角邊框

先上圖。<img src="http://img.my.csdn.net/uploads/201510/05/1444048517_3752.png-thumb.jpg" width="1080" height="1920" style="font-family: A

Vue資料視覺化元件庫類阿里DataV提供SVG的邊框及裝飾圖表圖等元件簡單易用持續更新

由於阿里DataV收費,介面維護略有麻煩,同時也基於興趣和學習,自己從依賴到元件獨立開發了一個元件庫,從效果上跟阿里的DataV很

ViewPager 指示器 實現聯動自身滾動支援型別 : 下滑三角形背景圖片

RVPIndicator 專案地址:RuffianZhong/RVPIndicator  簡介:ViewPager 指示器 實現聯動,自身滾動,支援型別 : 下滑線,三角形,全背景,圖片 更多:作者   提 Bug   

設定選單欄選單樣式(滑鼠移入移出狀態背景顏色字型顏色大小間距邊框

setStyleSheet(“QMenuBar{” “background:rgb(255,255,255);” “color:rgb(0,0,0);” “font-size:14px;” “padding:2px;” “border:1px solid rgb(165,171,184);”

CSS3基礎——邊框背景文字顏色

圓角效果 border-radius 單位:px 和% 陰影 box-shadow box-shadow: h-shadow v-shadow blur spread color inset; 常用四屬性:X軸偏移量 Y軸偏移量 [陰影模糊半徑] [陰影

Qt開發:無邊框異形視窗透明背景可移動

很多端遊的啟動器客戶端都是異形視窗,無邊框,自繪並重寫了最小化、最大化、關閉按鈕。本文具體講一下實現。 步驟: 1,設定視窗透明度、視窗無邊框樣式、視窗背景透明。 2,準備ps過的帶透明通道的不規則png圖片,設定為視窗背景。 3,重寫滑鼠事件實現視窗移動。 看效果:

萬能的給 RecyclerView新增邊框 和 圖片邊框

/** * Created by 寶寶 on 2017/12/8. */ import android.content.Context; import android.content.res.TypedArray; import android.graphics.Can

android程式碼繪製邊框、橢圓、實、虛線

1、繪製邊框:在res/drawable下建立XML檔案,將其設定為背景即可: 程式碼: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schem

table去掉邊框或者橫縱分隔

.表格中邊框的顯示 只顯示上邊框 <table frame=above> 只顯示下邊框 <table frame=below> 只顯示左、右邊框 <table

css背景邊框瞭解一下

css圓角邊框 border-radius 表格border-collapse屬性為separate,表格圓角才能正常顯示 背景屬性 background-color background-image background-repeat

GradientDrawable 可以用來通過程式方式給控制元件設定背景如圓角邊框

@SuppressLint("NewApi") public void setPopupStyle(final int backgroundColor, final int borderColor, final int borderWidthDP, float corner