2
0

WFCUPluginItemView.m 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //
  2. // PluginItemView.m
  3. // WFChat UIKit
  4. //
  5. // Created by WF Chat on 2017/10/29.
  6. // Copyright © 2017年 WildFireChat. All rights reserved.
  7. //
  8. #import "WFCUPluginItemView.h"
  9. @implementation WFCUPluginItemView
  10. - (instancetype)initWithTitle:(NSString *)title image:(UIImage *)image frame:(CGRect)frame
  11. {
  12. self = [super initWithFrame:frame];
  13. if (self) {
  14. [self setupView:title image:image];
  15. }
  16. return self;
  17. }
  18. - (void)setupView:(NSString *)title image:(UIImage *)image {
  19. UIView *myView = [UIView new];
  20. UIButton *imageButton = [UIButton buttonWithType:UIButtonTypeCustom];
  21. [imageButton setImage:image forState:UIControlStateNormal];
  22. myView.layer.cornerRadius = 5;
  23. [imageButton addTarget:self action:@selector(itemPlugined:) forControlEvents:UIControlEventTouchUpInside];
  24. imageButton.userInteractionEnabled = YES;
  25. [myView addSubview:imageButton];
  26. UILabel *label = [UILabel new];
  27. [label setText:title];
  28. [label setTextColor:HEXCOLOR(0x6f7277)];
  29. [label setFont:[UIFont systemFontOfSize:11]];
  30. [label setTextAlignment:NSTextAlignmentCenter];
  31. [myView addSubview:label];
  32. [self addSubview:myView];
  33. // add contraints
  34. [myView setTranslatesAutoresizingMaskIntoConstraints:NO];
  35. [imageButton setTranslatesAutoresizingMaskIntoConstraints:NO];
  36. [label setTranslatesAutoresizingMaskIntoConstraints:NO];
  37. [self
  38. addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[myView(75)]|"
  39. options:kNilOptions
  40. metrics:nil
  41. views:NSDictionaryOfVariableBindings(myView)]];
  42. [self
  43. addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[myView]|"
  44. options:kNilOptions
  45. metrics:nil
  46. views:NSDictionaryOfVariableBindings(myView)]];
  47. [self
  48. addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-7.5-[imageButton(60)]"
  49. options:kNilOptions
  50. metrics:nil
  51. views:NSDictionaryOfVariableBindings(imageButton)]];
  52. [self
  53. addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[label]|"
  54. options:kNilOptions
  55. metrics:nil
  56. views:NSDictionaryOfVariableBindings(label, myView)]];
  57. [self addConstraints:[NSLayoutConstraint
  58. constraintsWithVisualFormat:@"V:|[imageButton(60)]-5.5-[label(14)]"
  59. options:kNilOptions
  60. metrics:nil
  61. views:NSDictionaryOfVariableBindings(label, imageButton)]];
  62. }
  63. - (void)itemPlugined:(id)sender {
  64. self.onItemClicked();
  65. }
  66. @end