add left bar button on homepage in wechat

1.Tweak.xm

// add home page left button
%hook NewMainFrameViewController
#import "UIAlertView+Blocks.h"
static UIButton *sMainSettingBtn = nil;
-(void)viewDidAppear:(BOOL)view {
  %orig;
  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
      if (sMainSettingBtn == nil) {
          sMainSettingBtn = [UIButton buttonWithType:UIButtonTypeCustom];
      }
      [sMainSettingBtn removeFromSuperview];
      [sMainSettingBtn removeTarget:nil action:@selector(clickLeftItem:) forControlEvents:UIControlEventTouchUpInside];
      [sMainSettingBtn addTarget:self action:@selector(clickLeftItem:) forControlEvents:UIControlEventTouchUpInside];
      sMainSettingBtn.frame = CGRectMake(0, 0, 44, 44);
      [sMainSettingBtn setTitle:@"Clear" forState:UIControlStateNormal];

      UIBarButtonItem *leftItem1 = [[NSClassFromString(@"MMBarButtonItem") alloc] initWithCustomView:sMainSettingBtn];
      [[self navigationItem] setLeftBarButtonItems:@[leftItem1]];
    });
}

%new
- (void)clickLeftItem:(UIButton *)button {
  [UIAlertView showWithTitle:@"clear"
                       message:@"are you sure to clear chat list?"
             cancelButtonTitle:@"OK"
             otherButtonTitles:@[@"CANCEL"]
                      tapBlock:^(UIAlertView *alertView, NSInteger buttonIndex) {
      if (buttonIndex == [alertView cancelButtonIndex]) {
          NSLog(@"ok");
      } else if ([[alertView buttonTitleAtIndex:buttonIndex] isEqualToString:@"CANCEL"]) {
          NSLog(@"cancel");
      }
  }];
}

%end

additional files

add left bar button on homepage in wechat_第1张图片
UIALertView+Blocks

2.Makefile

THEOS_DEVICE_IP = localhost
THEOS_DEVICE_PORT = 2223

ARCHS = arm64

include /opt/theos/makefiles/common.mk

TWEAK_NAME = wechatplugin
wechatplugin_FILES = Tweak.xm UIAlertView+Blocks.m

include /opt/theos/makefiles/tweak.mk

after-install::
    install.exec "killall -9 WeChat"

3.effect

add left bar button on homepage in wechat_第2张图片
add left bar button on homepage in wechat

4. Postscript

any problem can comment below, I will response you.

你可能感兴趣的:(add left bar button on homepage in wechat)