用table分組寫設定介面
#import "ViewController.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic,strong)UITableView *tableView ;
@property (nonatomic,strong)NSArray *dataArray ;
@property (nonatomic,strong) UIView *footView;
@end
@implementation ViewController
- (NSArray *)dataArray
{
if (nil == _dataArray) {
_dataArray = @[
@[@"個人資料",@"賬號繫結"],
@[@"收貨地址管理",@"實名認證管理",@"購物偏好設定"] ,
@[@"新訊息設定"],
@[@"修改密碼"],
@[@"清理快取",@"關於聚美",@"日誌上傳"],
];
}
return _dataArray ;
}
-(UIView *)footView{
if (_footView == nil) {
_footView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,0,self.view.frame.size.height*0.3)];
_footView.backgroundColor = [UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1.0];
}
return _footView;
}
#pragma mark - getter/setter
- (UITableView *)tableView
{
if (nil == _tableView) {
_tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 70, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
//_tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
//_tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
[_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cellID"];
_tableView.dataSource = self ;
_tableView.delegate = self ;
_tableView.showsVerticalScrollIndicator=NO;//關閉上下滑動時的滑條
self.tableView.tableFooterView = self.footView;
}
return _tableView ;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor=[UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1.0];
UIView *theView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 70)];
theView.backgroundColor=[UIColor whiteColor];
[self.view addSubview:theView];
UILabel *theLabel=[[UILabel alloc] initWithFrame:CGRectMake(self.view.frame.size.width/4, 30, self.view.frame.size.width/2, 40)];
theLabel.textAlignment=NSTextAlignmentCenter;
theLabel.font=[UIFont systemFontOfSize:5+self.view.frame.size.width/30];
[theView addSubview:theLabel];
NSLog(@"viewDidLoad");
[self.view addSubview:self.tableView] ;
UIButton *footButton=[[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/5, self.view.frame.size.height/25, self.view.frame.size.width*3/5, 16+self.view.frame.size.height/32)];
footButton.backgroundColor=[UIColor whiteColor];
[footButton setTitle:@"退出登入" forState:UIControlStateNormal];
[footButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[footButton addTarget:self action:@selector(footButtonClick) forControlEvents:UIControlEventTouchUpInside];
footButton.titleLabel.font=[UIFont systemFontOfSize:5+self.view.frame.size.width/45];
//切圓角和設定弧度
footButton.layer.cornerRadius = footButton.frame.size.height/2;//半徑大小
footButton.layer.masksToBounds = YES;//是否切割
[self.footView addSubview:footButton];
// Do any additional setup after loading the view, typically from a nib.
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return self.dataArray.count ;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.dataArray[section] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
self.tableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID" forIndexPath:indexPath];
cell.textLabel.textColor = [UIColor blackColor];
cell.textLabel.text = self.dataArray[indexPath.section][indexPath.row];
cell.textLabel.font=[UIFont systemFontOfSize:5+self.view.frame.size.width/45];
cell.selectionStyle = UITableViewCellSelectionStyleNone;//點選cell時,cell的顏色不改變
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;//每個cell的後面出現>
return cell ;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 20+self.view.frame.size.height/28;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSString *theStr;
switch (indexPath.section) {
case 0:
if (indexPath.row==0) {
NSLog(@"點選了個人資料");
[email protected]"個人資料";
} else if (indexPath.row==1) {
NSLog(@"賬號繫結");
[email protected]"賬號繫結";
}
break ;
case 1:
if (indexPath.row==0) {
NSLog(@"點選了收貨地址管理");
[email protected]"收貨地址管理";
} else if (indexPath.row==1) {
NSLog(@"點選了實名認證管理");
[email protected]"實名認證管理";
} else if (indexPath.row==2) {
NSLog(@"點選了購物偏好設定");
[email protected]"購物偏好設定";
}
break ;
case 2:
if (indexPath.row==0) {
NSLog(@"點選了新訊息設定");
[email protected]"新訊息設定";
}
break ;
case 3:
if (indexPath.row==0) {
NSLog(@"點選了修改密碼");
[email protected]"修改密碼";
}
break ;
case 4:
if (indexPath.row==0) {
NSLog(@"點選了清理快取");
[email protected]"清理快取";
} else if (indexPath.row==1) {
NSLog(@"點選了關於聚美");
[email protected]"關於聚美";
} else if (indexPath.row==2) {
NSLog(@"點選了日誌上傳");
[email protected]"日誌上傳";
}
break ;
default: break;
}
dispatch_async(dispatch_get_main_queue(), ^{
UILabel *theLabel=[[UILabel alloc] initWithFrame:CGRectMake((self.view.frame.size.width-self.view.frame.size.width/3)/2, self.view.frame.size.height/2, self.view.frame.size.width/3, 20+self.view.frame.size.height/35)];
theLabel.backgroundColor=[UIColor blackColor];
theLabel.layer.cornerRadius = theLabel.frame.size.height/7;
theLabel.clipsToBounds = YES;
theLabel.textColor=[UIColor whiteColor];
theLabel.alpha=0.8f;
theLabel.textAlignment=NSTextAlignmentCenter;
theLabel.font=[UIFont systemFontOfSize:5+self.view.frame.size.width/40];
theLabel.text=theStr;
[self.view addSubview:theLabel];
//設定動畫
CATransition *transion=[CATransition animation];
[email protected]"push";//動畫方式
[email protected]"fromTop";//設定動畫從哪個方向開始
[theLabel.layer addAnimation:transion forKey:nil];//給layer新增動畫。設定延時效果
//不佔用主執行緒
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{
[theLabel removeFromSuperview];
});//這句話的意思是1.5秒後,把label移出檢視
});
}
//下面是設定分組的頭部和底部間距
//section頭部間距
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return self.view.frame.size.width/35;//section頭部高度
}
//section頭部檢視
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
//設定頭部顏色
UIView *headerView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];
headerView.backgroundColor = [UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1.0];
return headerView ;
}
//section底部間距
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 0;//section底部高度
}
//section底部檢視- (UIView
//section底部檢視
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
UIView *viewdd=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];
viewdd.backgroundColor = [UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1.0];
return viewdd;
}
-(void)footButtonClick
{
NSLog(@"點選了退出登入按鈕");
NSLog(@"ddd~~");
dispatch_async(dispatch_get_main_queue(), ^{
UILabel *theLabel=[[UILabel alloc] initWithFrame:CGRectMake((self.view.frame.size.width-self.view.frame.size.width/3)/2, self.view.frame.size.height/2, self.view.frame.size.width/3, 20+self.view.frame.size.height/35)];
theLabel.backgroundColor=[UIColor blackColor];
theLabel.layer.cornerRadius = theLabel.frame.size.height/7;
theLabel.clipsToBounds = YES;
theLabel.textColor=[UIColor whiteColor];
theLabel.alpha=0.8f;
theLabel.textAlignment=NSTextAlignmentCenter;
theLabel.font=[UIFont systemFontOfSize:5+self.view.frame.size.width/40];
[email protected]"退出登入";
[self.view addSubview:theLabel];
//設定動畫
CATransition *transion=[CATransition animation];
[email protected]"push";//動畫方式
[email protected]"fromTop";//設定動畫從哪個方向開始
[theLabel.layer addAnimation:transion forKey:nil];//給layer新增動畫。設定延時效果
//不佔用主執行緒
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{
[theLabel removeFromSuperview];
});//這句話的意思是1.5秒後,把label移出檢視
});
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
相關推薦
用table分組寫設定介面
#import "ViewController.h" @interface ViewController ()<UITableViewDelegate,UITableViewDataSource> @property (nonatomic,strong)UIT
python進階-用Tkinter/mysqldb寫一個簡單的酒店預定GUI介面
學了python的部分庫和基本語法後,結合資料庫操作,做一個簡單的使用者友好介面實現一個簡單的酒店預訂小系統。 準備姿勢 tkinter的元件轉換 tkinter按鈕元件詳解 Python連線資料庫操作 資料庫準備 在本地資料庫新建一個hotel_data的資料庫,建立四張表。
用node寫資料介面,除錯,跨域,express中介軟體
進入服務端專案目錄下:1、npm init 建立package.json檔案;2、建立一個app.js檔案,下面的標註都有了,簡單的寫了一個介面,下面會用,對跨域訪問做了設定---------------------------------------------------
用markdown編輯器寫技術介面文件
一直想找一套開源程式來寫介面文件,看過showdoc,swagger之類的,感覺都不是很方便 ,後來發現還是用markdown寫技術介面文件比較方便! 寫md檔案推薦使用gitbook 下載地址 https://www.gitbook.com/editor/
用node寫後臺介面 (後臺管理系統)
第一步 先下載express - npm install express -S - 引入express 建立伺服器 const express = require('express') const app = express() app.listen(5000,
PyGObject筆記1——用Python寫圖形介面
Linux下最著名的圖形庫GTK+的較新版本GTK+不僅支援C語言,還綁定了多種語言,Python是其中繫結比較成熟的一種。 Python繫結GTK2為PyGTK,現在推薦使用繫結GTK3+的PyGObject替代PyGTK。 本篇開
用dubbo框架寫的簡單的介面作為客戶端
在客戶端需要依賴服務端的jar包和類,在客戶端也新建和服務端一樣的介面和實現類 consumer.xml配置如下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sprin
用MEL寫MAYA介面
sphere -name "mysphere"; window mywindow; columnLayout; attrFieldSliderGrp -min 0 -max 10 -at "mysphere.sx"; showWindow mywindow; 這樣用出來就
用SWT-designer 寫的使用者管理介面
本設計運用java語言編輯出基於swing的使用者管理介面,並與mysql連線,對資料進行增刪查改。新增:點選按鈕按鈕,跳出一個adddialog,並且可以通過絕對路徑手動載入圖片,顯示在label上;刪除:滑鼠右鍵彈出選單框可刪除介面和資料庫中資料。 1、登陸介面程
用HTML和css寫的介面適應手機介面小結
用html和css寫得頁面要適應各種手機螢幕的話,寫的時候要注意以下幾點: 整體頁面的寬度用百分之比表示,任意一個要設定寬度的元素都用百分比表示。比如在整體的上設 width:100%; 要適應各個
html之實戰二--用table和form完成註冊介面
<html> <head> <meta charset="utf-8" /> <title>第二次實戰--用table和form做出一個漂亮的註冊頁面</title>
用python寫登陸介面
端午佳節,一邊吃粽子一邊寫登陸介面 #!/usr/bin/env python def login(username, password): f = open("db", 'r') # 讀檔
用vetr.x寫一個HTTP介面介面卡, 對接各種形式介面
用vetr.x寫一個HTTP介面介面卡, 對接各種形式介面 專案地址:https://github.com/hjx601496320/transmit 業務說明 在日常開發工作中,我們經常會遇到要和各種第三方除錯介面的情況,如果是簡單的幾個介面還好,程式碼寫起來很快就寫好了。但是如果在某一種業務情況下,比如支
分針網——IT教育:用js原生寫黑客帝國特效
想必大家都看過 黑客帝國 系列電影吧!先放一張圖片致敬一下經典。我們就來做一下裏面的背景特效吧:The Matrix
現在主流網站為什麽都用div+css布局而不是用table
樣式 style 證明 引擎 實驗 加載 網站 效果 視覺 由於剛剛接觸前端,一直覺得table布局在代碼上看起來比div+css更整潔,div+css布局的頁面,一堆的<div><div><div>...</div><
NPOI用WorkbookFactory讀寫 2007以上格式文件(xlsx)
輸出 最新 壓縮工具 mode 新的 mod 發現 eno 讀寫 //我用的最新的2.2.1版本 //第一步:引用DLL,5個全導入,包括ICSHARP.ZIP,是個開源壓縮工具包。XLSX是壓縮格式,需要它來解壓 //第二部: using NPOI.SS.UserMode
用html語言寫一個功課表
ble mage ima http jsb type 聲明 mil .net 今天在網上看了一個關於html的教程,主要是講表格,看完之後認為有必要上機試試。於是就寫了以下的一段代碼。 <!DOCTYPE html><!--貌似5.0的能
用table繪制 等寬等間距的單元
ack log height alt show span bsp 可能 技術 css: .test1 { empty-cells: show;/*show:指定當表格的單元格無內容時,顯示該單元格的邊框。*/
java小程序-----用if for寫會員登陸和商品列表
object span scanner 程序 out 筆記 bre welcome sys 一、父類 1 public class Father{ //父類 2 3 protected static i
用偽元素寫移動端1px邊框時想實現邊角效果
ack img ive cal left image event 發現 邊框 做移動端頁面時,又想用偽元素做真實1像素邊框,又想有邊角時,會發現只加一個border-radius時出來的效果邊款並沒有變成圓角,解決辦法是加兩個border-radius <div c