IOS开发高级之点餐系统的实现-01

IOS开发高级之点餐系统的实现-01

在这里插入图片描述
在这里插入图片描述

//
//  ViewController.m
//  01-点餐系统
//
//  Created by 鲁军 on 2021/2/11.
//

#import "ViewController.h"

@interface ViewController () <UIPickerViewDataSource,UIPickerViewDelegate>

@property(nonatomic,strong)NSArray *foods;

@property (weak, nonatomic) IBOutlet UILabel *lblFruit;

@property (weak, nonatomic) IBOutlet UILabel *lblMainFood;

@property (weak, nonatomic) IBOutlet UILabel *lblBar;


- (IBAction)randomBtn:(id)sender;


@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;

@end

@implementation ViewController


- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    
    NSString *selFood = self.foods[component][row];
    NSLog(@"%@",selFood);
    
    switch (component) {
        case 0:
            _lblFruit.text = selFood;
            break;
        case 1:
            _lblMainFood.text = selFood;
            break;
        case 2:
            _lblBar.text = selFood;
            break;
        
    }
    
    
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    
    NSArray *comFoods = self.foods[component];
    NSString *food = comFoods[row];
    return  food;
    
    
    
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    
    return self.foods.count;
    
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    
    return [self.foods[component] count];
    
    
}

- (NSArray *)foods{
    
    if(_foods==nil){
        
        _foods = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foods.plist" ofType:nil]];
        
        
        
        
    }
    
    return _foods;
    
}


- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
   
    for(int i =0;i<self.foods.count;i++){
        
        [self pickerView:self.pickerView didSelectRow:0 inComponent:i];
    }
    
}


- (IBAction)randomBtn:(id)sender {
    
    for(int i =0; i<self.foods.count;i++){
        
        NSUInteger count = [self.foods[i] count];
        u_int32_t radNum  =arc4random_uniform((int)count);
      
        NSInteger selRowNum = [self.pickerView selectedRowInComponent:i];
        while (selRowNum ==radNum) {
            radNum=arc4random_uniform((int)count);
        }
        
        
        
        [self.pickerView selectRow:radNum inComponent:i animated:YES];
        
        [self pickerView:self.pickerView didSelectRow:radNum inComponent:i];
        
    }
    
    
    
    
}
@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SlideMenuControllerSwift ======================== [![Platform](http://img.shields.io/badge/platform-ios-blue.svg?style=flat )](https://developer.apple.com/iphone/index.action) [![Language](http://img.shields.io/badge/language-swift-brightgreen.svg?style=flat )](https://developer.apple.com/swift) [![License](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat )](http://mit-license.org) [![Issues](https://img.shields.io/github/issues/dekatotoro/SlideMenuControllerSwift.svg?style=flat )](https://github.com/dekatotoro/SlideMenuControllerSwift/issues?state=open) iOS Slide View based on iQON, Feedly, Google+, Ameba iPhone app. ![sample](Screenshots/SlideMenuControllerSwift.gif) ##Installation ####CocoaPods comming soon... ####Manually Add the `SlideMenuController.swift` file to your project. ##Usage ###Setup In your app delegate: ```swift func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // create viewController code... let slideMenuController = SlideMenuController(mainViewController: mainViewController, leftMenuViewController: leftViewController, rightMenuViewController: rightViewController) self.window?.rootViewController = slideMenuController self.window?.makeKeyAndVisible() return true } ``` If you want to use the custom option, please change the SlideMenuOption class. ```swift class SlideMenuOption { let leftViewWidth: CGFloat = 270.0 let leftBezelWidth: CGFloat = 16.0 let contentViewScale: CGFloat = 0.96 let contentViewOpacity: CGFloat = 0.5 let shadowOpacity: CGFloat = 0.0 let shadowRadius: CGFloat = 0.0 let shadowOffset: CGSize = CGSizeMake(0,0) let panFromBezel: Bool = true let animationDuration: CGFloat = 0.4 let rightViewWidth: CGFloat = 270.0 let rightBezelWidth: CGFloat = 16.0 let rightPanFromBezel: Bool = true let hideStatusBar: Bool = true let pointOfNoReturnWidth: CGFloat = 44.0 init() { } } ``` ###You can access from UIViewController ```swift self.slideMenuController()? ``` or ```swift if let slideMenuController = self.slideMenuController() { // some code } ``` ### add navigationBarButton ```swift viewController.addLeftBarButtonWithImage(UIImage(named: "hoge")!) viewController.addRightBarButtonWithImage(UIImage(named: "fuga")!) ``` ### open and close ```swift // Open self.slideMenuController()?.openLeft() self.slideMenuController()?.openRight() // close self.slideMenuController()?.closeLeft() self.slideMenuController()?.closeRight() ``` ## Requirements Requires iOS 7.0 and ARC. ## Features - Highly customizable - Complete example ## Contributing Forks, patches and other feedback are welcome. ## Creator [Yuji Hato](https://github.com/dekatotoro) [Blog](http://buzzmemo.blogspot.jp/) ## License SlideMenuControllerSwift is available under the MIT license. See the LICENSE file for more info.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值