Class: Lhj::Command::View
- Inherits:
-
Lhj::Command
- Object
- CLAide::Command
- Lhj::Command
- Lhj::Command::View
- Defined in:
- lib/lhj/command/view.rb
Instance Method Summary collapse
-
#initialize(argv) ⇒ View
constructor
A new instance of View.
- #names ⇒ Object
- #print_alloc(name) ⇒ Object
- #print_declare ⇒ Object
- #print_instance ⇒ Object
- #print_layout ⇒ Object
- #print_property(name) ⇒ Object
- #print_value ⇒ Object
- #run ⇒ Object
- #type ⇒ Object
Constructor Details
#initialize(argv) ⇒ View
Returns a new instance of View.
7 8 9 10 11 |
# File 'lib/lhj/command/view.rb', line 7 def initialize(argv) @name = argv.option('name', 'titleLabel') @type = argv.option('type', 'UILabel') super end |
Instance Method Details
#names ⇒ Object
13 14 15 |
# File 'lib/lhj/command/view.rb', line 13 def names @name.split(',').map(&:strip) end |
#print_alloc(name) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/lhj/command/view.rb', line 72 def print_alloc(name) case type when 'UIImageView' puts " _#{name} = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@\"xxxx\"]];" when 'UIButton' puts " _#{name} = [UIButton buttonWithType:UIButtonTypeCustom];" when 'UITableView' puts " _#{name} = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];" else puts " _#{name} = [[#{type} alloc] init];" end end |
#print_declare ⇒ Object
50 51 52 53 54 55 |
# File 'lib/lhj/command/view.rb', line 50 def print_declare names.each do |name| puts '///' puts "@property (nonatomic, strong) #{type} *#{name};" end end |
#print_instance ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/lhj/command/view.rb', line 57 def print_instance names.each do |name| puts "-(#{type} *)#{name}" puts '{' puts " if(!_#{name}){" print_alloc(name) puts " _#{name}.translatesAutoresizingMaskIntoConstraints = NO;" print_property(name) puts ' }' puts " return _#{name};" puts '}' puts "\n" end end |
#print_layout ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/lhj/command/view.rb', line 125 def print_layout names.each do |name| puts "[contentView addSubview:self.#{name}];" puts "[self.#{name}.leadingAnchor constraintEqualToAnchor:contentView.leadingAnchor constant:0].active = YES;" puts "[self.#{name}.trailingAnchor constraintEqualToAnchor:contentView.trailingAnchor constant:0].active = YES;" puts "[self.#{name}.topAnchor constraintEqualToAnchor:contentView.topAnchor].active = YES;" puts "[self.#{name}.bottomAnchor constraintEqualToAnchor:contentView.bottomAnchor].active = YES;" puts "[self.#{name}.widthAnchor constraintEqualToConstant:80].active = YES;" puts "[self.#{name}.heightAnchor constraintEqualToConstant:80].active = YES;" if type.eql?('UILabel') puts "[self.#{name} setContentHuggingPriority:300 forAxis:UILayoutConstraintAxisHorizontal];" puts "[self.#{name} setContentCompressionResistancePriority:300 forAxis:UILayoutConstraintAxisHorizontal];" end puts "\n\n" end end |
#print_property(name) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/lhj/command/view.rb', line 85 def print_property(name) case type when 'UILabel' puts " _#{name}.textColor = kSetCOLOR(0x333333);" puts " _#{name}.text = @\"xxxxxxxx\";" puts " _#{name}.font = [UIFont systemFontOfSize:12.0 weight:UIFontWeightRegular];" puts " _#{name}.textAlignment = NSTextAlignmentCenter;" when 'UIImageView' puts " _#{name}.backgroundColor = kBackgroundColor;" puts " _#{name}.contentMode = UIViewContentModeScaleAspectFit;" puts " _#{name}.clipsToBounds = YES;" puts " _#{name}.layer.cornerRadius = 6.0f;" puts " _#{name}.layer.borderColor = kLineColor.CGColor;" puts " _#{name}.layer.borderWidth = 0.5;" when 'UITextField' puts " _#{name}.textColor = kSetCOLOR(0x333333);" puts " _#{name}.font = [UIFont systemFontOfSize:12.0 weight:UIFontWeightRegular];" when 'UIView' puts " _#{name}.backgroundColor = kBackgroundColor;" when 'UIStackView' puts " _#{name}.axis = UILayoutConstraintAxisHorizontal;" puts " _#{name}.distribution = UIStackViewDistributionFillEqually;" when 'UITableView' puts " _#{name}.backgroundColor = kBackgroundColor;" puts " _#{name}.delegate = self;" puts " _#{name}.delegate = self;" puts " _#{name}.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];" puts " _#{name}.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];" puts " _#{name}.separatorStyle = UITableViewCellSeparatorStyleNone;" when 'UIButton' puts " _#{name}.backgroundColor = kBackgroundColor;" puts " [_#{name} setTitle:@\"xxx\" forState:UIControlStateNormal];" puts " [_#{name} setTitleColor:kSetCOLOR(0x999999) forState:UIControlStateNormal];" puts " _#{name}.titleLabel.font = [UIFont systemFontOfSize:14.0 weight:UIFontWeightRegular];" puts " [_#{name} setImage:[UIImage imageNamed:@\"xx\"] forState:UIControlStateNormal];" puts " [_#{name} setImage:[UIImage imageNamed:@\"xx\"] forState:UIControlStateSelected];" puts " [_#{name} addTarget:self action:@selector(actionHandler:) forControlEvents:UIControlEventTouchUpInside];" end end |
#print_value ⇒ Object
142 143 144 145 146 147 148 |
# File 'lib/lhj/command/view.rb', line 142 def print_value names.each do |name| if type.eql?('UILabel') puts "self.#{name}.text = @\"xxxxx\";" end end end |
#run ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/lhj/command/view.rb', line 40 def run print_declare puts "\n\n" print_instance puts "\n\n" print_layout puts "\n\n" print_value end |
#type ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/lhj/command/view.rb', line 17 def type @ele_type ||= begin case @type when /image/i 'UIImageView' when /stack/i 'UIStackView' when /label/i 'UILabel' when /table/i 'UITableView' when /text/i 'UITextField' when /button/i 'UIButton' when /view/i 'UIView' else @type end end end |