0: First, or through the pure code to achieve
0: Delete 3 files Viewcontroller.h,viewcontroller.m,main.storyboard
1: Modify click on the blue button on the left, then select general-"Developer info-" main interface, will this main interface clear sky
2: Then create a mainuiviewcontroller, it inherits from Uiviewcontroller
1: Update the APPDELEGATE.M file
APPDELEGATE.M//Tennavigationviewtableview/////Created by thousand Ya Dad on 16/10/16. COPYRIGHT©2016 year Kodulf.
All rights reserved.
#import "AppDelegate.h" #import "MainViewController.h" @interface appdelegate () @end @implementation appdelegate -(BOOL) Application: (UIApplication *) application didfinishlaunchingwithoptions: (Nsdictionary *) launchOptions {//Ove
Rride point for customization after application launch.
Self.window = [[UIWindow alloc]initwithframe:[uiscreen mainscreen].bounds];
Mainviewcontroller *mainviewcontroller=[[mainviewcontroller Alloc]init]; If you do not fill out here is Uinavigationcontroller then the navigation bar is not displayed//notice here must be filled out is Uinavigationcontroller uinavigationcontroller *uinavigat
Ioncontroller = [[Uinavigationcontroller Alloc]initwithrootviewcontroller:mainviewcontroller];
[Self.window Setrootviewcontroller:uinavigationcontroller];
[Self.window makekeyandvisible];
return YES; }-(void) Applicationwillresignactive: (UIApplication *)Application {//Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as a incoming phone call or SMS message) or the US
Er quits the application and it begins the transition to the background state. Use the To pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates.
Games should to pause the game. }-(void) Applicationdidenterbackground: (uiapplication *) Application { , save user data, invalidate timers, and store enough application state information to restore your application to its cur
Rent state in case it is terminated later. If your application supports background execution, this is called instead of Applicationwillterminate:when the
User quits. }-(void) Applicationwillenterforeground: (uiapplication *) application {//called as part of the transition from the backgRound to the inactive State;
Here you can undo many of the changes made on entering the background. }-(void) Applicationdidbecomeactive: (uiapplication *) application {//Restart any tasks this were paused (or not yet started) while the application is inactive.
If the application is previously in the background, optionally refresh the user interface. }-(void) Applicationwillterminate: (uiapplication *) application {//called when the application was about to Terminat E. Save data if appropriate.
Also applicationdidenterbackground:.
} @end
2:mainviewcontroller.m
MAINVIEWCONTROLLER.M//Tennavigationviewtableview/////Created by thousand Ya Dad on 16/10/16. COPYRIGHT©2016 year Kodulf.
All rights reserved. #import "MainViewController.h"//todo remember, here must be set to implement the Protocol, or Scrollviewdidscroll will not be able to find @interface Mainviewcontroller ( ) <UITableViewDelegate,UITableViewDataSource> @property (nonatomic,strong) UITableView *tableview;//
TableView is actually Android's ListView @property (Nonatomic,strong) Uinavigationbar *navigationbar;
@end @implementation Mainviewcontroller-(void) viewdidload {[Super viewdidload];
[Self.view Setbackgroundcolor:[uicolor Greencolor]];
Hide the system from the navigation bar, because we want to achieve the effect of the gradient, navigation bars are customized [Self.navigationcontroller Setnavigationbarhidden:yes];
Let the navigation bar not affect the TableView view, so add the starting coordinates, [self setautomaticallyadjustsscrollviewinsets:no];
This added tableview will not do automatic stop hungry adjusted [self intiwithnavigationbar];
[Self inittableview];
Do no additional setup after loading the view. }-(void) inittableview{[self settablEview:[[uitableview alloc]initwithframe:cgrectmake (0, 0, cgrectgetwidth (self.view.bounds), Cgrectgetheight ( self.view.bounds)) Style:uitableviewstyleplain]];//cgrectgetwidth (self.view.bounds), Cgrectgetheight (
Self.view.bounds) Gets the length of the space, a bit like Android's way of acquiring space length [Self.tableview setdatasource:self];
[Self.tableview setdelegate:self];
[Self.tableview Setseparatorstyle:uitableviewcellseparatorstylenone]; [Self.tableview Setcontentinset:uiedgeinsetsmake (64, 0, 0, 0)];//a bit like Android inside the padding sits down right; [Self.tableview Registerc
Lass:[uitableviewcell class] forcellreuseidentifier:@ "Cell"];
[Self.view AddSubview:self.tableView]; }-(void) intiwithnavigationbar{[self Setnavigationbar:[[uinavigationbar alloc]initwithframe:cgrectmake (0, 0, CGRect
GetWidth (Self.view.bounds), 64)]]; [Self.navigationbar setbackgroundcolor:[uicolor yellowcolor]];////Remove opacity effect [Self.navigationbar SetTranslucent:N
O]; [Self.navigationController.view addSubview:self.navigationBar]; If the background layer is not removed, there will be a problem for (UIView *subview in self.navigationBar.subviews) {if ([Subview Iskindofclass:[nsclassfro
Mstring (@ "_uinavigationbarbackground") class]] {[Subview removefromsuperview];
}}-(void) didreceivememorywarning {[Super didreceivememorywarning];
Dispose of any of the can is recreated.
#pragma mark-table View delegate-///This corresponds to the method after implementing the interface in Java-(void) Scrollviewdidscroll: (Uiscrollview *) scrollview{
Uicolor *color = Self.navigationBar.backgroundColor;
CGFloat OffsetY = scrollview.contentoffset.y;//upward for positive if (offsety>0) {cgfloat alpha = (600-offsety)/600;
Self.navigationBar.backgroundColor =[color Colorwithalphacomponent:alpha];
}else{self.navigationBar.backgroundColor =[color colorwithalphacomponent:1]; } #pragma mark-table View data Source--(Nsinteger) TableView: (UITableView *) TableView numberofrowsinsection: (Nsinteg ER) section{return 100;}
-(UITableViewCell *) TableView: (UITableView *) TableView Cellforrowatindexpath: (nonnull nsindexpath *) indexPath{UITab Leviewcell *cell = [TableView dequeuereusablecellwithidentifier:@ "Cell"];//will be fetched from the reuse queue [Cell.textlabel setText:[
NSString stringwithformat:@ "Row-%zd", Indexpath.row]; [Cell Setbackgroundcolor:[[uicolor Graycolor] colorwithalphacomponent:1.0/(Arc4random ()%5)]];//method of generating random numbers,
Arc4random (), and Java slightly different return cell; }/* #pragma mark-navigation//In a storyboard-based application, you'll often want to do a little preparation Re Navigation-(void) Prepareforsegue: (Uistoryboardsegue *) Segue Sender: (ID) Sender {//Get the new view controller US
ing [Segue Destinationviewcontroller].
Pass the selected object to the new view controller.
} * * @end