<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • iOS中創(chuàng)建表格類視圖WBDataGridView的實例代碼

            iOS中創(chuàng)建表格類視圖WBDataGridView的實例代碼

            創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的泉港網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

            項目中創(chuàng)建表格, 引用頭文件

            #import "WBDataGridView.h"
            - (void)viewDidLoad{
              [superviewDidLoad];
              // Do any additional setup after loading the view.
              self.view.backgroundColor = [UIColorwhiteColor];
              CGFloat margin = 10.f;
              CGFloat width = self.view.frame.size.width -2*margin;
              // - 添加表格 - 兩列
              WBDataGridView *DataGrid = [[WBDataGridViewalloc] initWithFrame:CGRectMake(margin,4*margin , width, 0)
                                        andColumnsWidths:@[@(width*0.4),@(width*0.6)]];
              DataGrid.roundCorner = YES;
              [DataGrid addRecord:@[@"姓名",@"dylan_lwb_"]];
              [DataGrid addRecord:@[@"性別",@"男"]];
              [DataGrid addRecord:@[@"電話",@"110119120"]];
              [DataGrid addRecord:@[@"郵箱",@"[email protected]"]];
              [self.viewaddSubview:DataGrid];
              // - 添加表格 - 多列
              WBDataGridView *MoreDataGrid = [[WBDataGridViewalloc]initWithFrame:CGRectMake(margin,CGRectGetMaxY(DataGrid.frame) +2*margin , width, 0)
                                          andColumnsWidths:@[@(width*0.2),@(width*0.2),@(width*0.2),@(width*0.4)]];
              MoreDataGrid.roundCorner = YES;
              [MoreDataGrid addRecord:@[@"姓名",@"姓名",@"姓名",@"dylan_lwb_"]];
              [MoreDataGrid addRecord:@[@"性別",@"性別",@"性別",@"男"]];
              [MoreDataGrid addRecord:@[@"電話",@"電話",@"電話",@"110119120"]];
              [MoreDataGrid addRecord:@[@"郵箱",@"郵箱",@"郵箱",@"[email protected]"]];
              [self.viewaddSubview:MoreDataGrid];
            }
            // WBDataGridView.h 
            #import <UIKit/UIKit.h>
            extern NSString *const SwitchButtonString;
            @interface WBDataGridView : UIView
            @property (retain,nonatomic) NSArray *columnsWidths;
            @property (assign,nonatomic) NSUInteger lastRowHeight;
            @property (retain,nonatomic) UIImage *selectedImage;
            @property (retain,nonatomic) UIImage *unselectedImage;
            @property (assign,nonatomic) BOOL roundCorner;
            - (id)initWithFrame:(CGRect)frame andColumnsWidths:(NSArray*)columns;
            - (void)addRecord:(NSArray*)record;
            - (NSUInteger)selectedIndex;
            @end
            // WBDataGridView.m 
            #import "WBDataGridView.h"
            NSString * const SwitchButtonString =@"SwitchButtonString";
            @interface WBDataGridView ()
            @property (assign,nonatomic) NSUInteger numRows;
            @property (assign,nonatomic) NSUInteger dy;
            @property (retain,nonatomic) NSMutableArray *switchButtons;
            @end
            @implementation WBDataGridView
            - (id)initWithFrame:(CGRect)frame andColumnsWidths:(NSArray*)columns{
              self = [superinitWithFrame:frame];
              if (self)
              {
                self.numRows =0;
                self.columnsWidths = columns;
                self.dy =0;
                self.numRows =0;
                self.switchButtons = [NSMutableArrayarray];
              }
              return self;
            }
            - (void)addRecord: (NSArray*)record
            {
              if(record.count !=self.columnsWidths.count)
              {
                NSLog(@"!!! Number of items does not match number of columns. !!!");
                return;
              }
              self.lastRowHeight =42;
              uint dx = 0;
              NSMutableArray* labels = [NSMutableArrayarray];
              // - create the items/columns of the row
              for(uint i=0; i<record.count; i++)
              {
                float colWidth = [[self.columnsWidthsobjectAtIndex:i] floatValue];//colwidth as given at setup
                CGRect rect = CGRectMake(dx, self.dy, colWidth,self.lastRowHeight);
                // - adjust X for border overlapping between columns
                if(i>0)
                {
                  rect.origin.x -= i;
                }
                NSString *oneRecord = [record objectAtIndex:i];
                if ([oneRecord isEqualToString:SwitchButtonString])
                {
                  // - set the switch button string as empty, create a label to adjust a cell first, then add the switch upon the label
                  oneRecord = @"";
                }
                UILabel* col1 = [[UILabelalloc] init];
                [col1.layersetBorderColor:[[UIColorcolorWithWhite:0.821alpha:1.000]CGColor]];
                [col1.layer setBorderWidth:1.0];
                col1.font = [UIFontfontWithName:@"Helvetica"size:self.numRows ==0 ? 14.0f :12.0f];
                col1.textColor = [UIColordarkGrayColor];
                col1.frame = rect;
                // - round corner
                if ([selfisRoundCorner:i])
                {
                  col1.layer.cornerRadius =5;
                  col1.layer.masksToBounds =YES;
                }
                // - set left reght margins&alignment for the label
                NSMutableParagraphStyle *style = [[NSParagraphStyledefaultParagraphStyle]mutableCopy];
                style.alignment =NSTextAlignmentCenter;
                NSAttributedString *attrText = [[NSAttributedStringalloc]initWithString:oneRecordattributes:@{NSParagraphStyleAttributeName : style}];
                col1.lineBreakMode =NSLineBreakByCharWrapping;
                col1.numberOfLines = 0;
                col1.attributedText = attrText;
                [col1 sizeToFit];
                // - used to find height of longest label
                CGFloat h = col1.frame.size.height +10;
                if(h > self.lastRowHeight){
                  self.lastRowHeight = h;
                }
                // - make the label width same as columns's width
                rect.size.width = colWidth;
                col1.frame = rect;
                [labels addObject:col1];
                // - used for setting the next column X position
                dx += colWidth;
              }
              // - make all the labels of same height and then add to view
              for(uint i=0; i<labels.count; i++)
              {
                UILabel* tempLabel = (UILabel*)[labelsobjectAtIndex:i];
                CGRect tempRect = tempLabel.frame;
                tempRect.size.height =self.lastRowHeight;
                tempLabel.frame = tempRect;
                [self addSubview:tempLabel];
              }
              // - add the switch button at the first column in current row
              if ([record.firstObjectisEqualToString:SwitchButtonString])
              {
                UILabel *firstlabel = labels.firstObject;
                UIButton *oneSwitchButton = [[UIButtonalloc] initWithFrame:CGRectMake(0,0, [self.columnsWidths.firstObjectintegerValue], 40)];
                oneSwitchButton.center = firstlabel.center;
                [oneSwitchButton addTarget:selfaction:@selector(tapedSwitchButton:)forControlEvents:UIControlEventTouchUpInside];
                [oneSwitchButton setBackgroundImage:self.selectedImageforState:UIControlStateSelected];
                [oneSwitchButton setBackgroundImage:self.unselectedImageforState:UIControlStateNormal];
                [self.switchButtonsaddObject:oneSwitchButton];
                // - default selected first row button
                if (self.switchButtons.firstObject == oneSwitchButton)
                {
                  oneSwitchButton.selected = YES;
                }
                [self addSubview:oneSwitchButton];
              }
              self.numRows++;
              // - adjust Y for border overlapping beteen rows
              self.dy +=self.lastRowHeight-1;
              CGRect tempRect = self.frame;
              tempRect.size.height =self.dy;
              self.frame = tempRect;
            }
            - (void)tapedSwitchButton:(UIButton *)button
            {
              button.selected = !button.selected;
              [self.switchButtonsenumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop) {
                UIButton *oneButton = obj;
                if (oneButton != button)
                {
                  oneButton.selected = NO;
                }
              }];
            }
            - (NSUInteger)selectedIndex
            {
              __block NSUInteger index =0;
              [self.switchButtonsenumerateObjectsUsingBlock:^(id obj,NSUInteger idx, BOOL *stop) {
                UIButton *oneButton = obj;
                if (oneButton.selected ==YES)
                {
                  index = idx;
                  *stop = YES;
                }
              }];
              return index;
            }
            - (BOOL)isRoundCorner:(NSInteger)row
            {
              return NO;
            }
            @end

            以上所述是小編給大家介紹的iOS中創(chuàng)建表格類視圖WBDataGridView的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!

            分享文章:iOS中創(chuàng)建表格類視圖WBDataGridView的實例代碼
            分享鏈接:http://www.jbt999.com/article30/ihsdpo.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站網(wǎng)站設(shè)計、服務(wù)器托管、品牌網(wǎng)站制作、電子商務(wù)、標簽優(yōu)化

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            小程序開發(fā)

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 欧美日屄 | 青娱乐在线播放 | 欧美亚洲中文日 | 黄色片视频欧美 | 无码人妻一区二区三区在线神菜美 |