gpt4 book ai didi

iphone - 如何以编程方式添加 UINavigationBar 及其上的后退按钮

转载 作者:行者123 更新时间:2023-12-03 19:43:50 25 4
gpt4 key购买 nike

我是新手,尝试使用UITextView制作一个类似于iPhone的Notes应用程序的应用程序。我得到了 textView 和线条,它工作正常。

我的问题是我想在其上添加一个 UINavigationBar 和后退按钮。我想在底部添加一个 UIToolBar 并在其上添加 2 个 toolBarItems 如何以编程方式执行此操作。任何帮助对我来说都是很大的帮助..

下面是代码片段。

NoteView.h

@interface NoteView : UITextView <UITextViewDelegate,UITabBarControllerDelegate>
{

}

NoteView.m

- (id)initWithFrame:(CGRect)frame {

self = [super initWithFrame:frame];

if (self) {
self.backgroundColor = [UIColor colorWithRed:0.6f green:0.6f blue:1.0f alpha:1.0f];
self.font = [UIFont fontWithName:@"MarkerFelt-Thin" size:20];
self.contentMode = UIViewContentModeRedraw;
}
return self;
}

- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.2f].CGColor);
CGContextSetLineWidth(context, 1.0f);

CGContextBeginPath(context);

NSUInteger numberOfLines = (self.contentSize.height + self.bounds.size.height) / self.font.leading;

CGFloat baselineOffset = 6.0f;
for (int x = 0; x < numberOfLines; x++) {
CGContextMoveToPoint(context, self.bounds.origin.x, self.font.leading*x + 0.5f + baselineOffset);
CGContextAddLineToPoint(context, self.bounds.size.width, self.font.leading*x + 0.5f + baselineOffset);
}

CGContextClosePath(context);
CGContextStrokePath(context);
}

AddNotesViewController.h

@interface AddNotesViewController : UIViewController <UITextViewDelegate,UITabBarDelegate>
{
NoteView *note;
}

@property (nonatomic, retain) NoteView *note;

@end

AddNotesViewController.m

- (void)loadView 
{
[super loadView];
self.note = [[[NoteView alloc] initWithFrame:self.view.bounds] autorelease];
[self.view addSubview:note];
note.delegate = self;
note.text=@"";
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[note setNeedsDisplay];
}

- (void)textViewDidBeginEditing:(UITextView *)textView
{
CGRect frame = self.view.bounds;
frame.size.height -= KEYBOARD_HEIGHT;
note.frame = frame;
}

- (void)textViewDidEndEditing:(UITextView *)textView
{
note.frame = self.view.bounds;
}

- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}

请告诉我如何以及在哪里添加导航栏,后退按钮和工具栏,2个toolBarItems。提前谢谢...

最佳答案

导航栏图像

UINavigationBar *navBar = [[self navigationController] navigationBar];
UIImage *image = [UIImage imageNamed:@"TopBar.png"];
[navBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

后退按钮

-(void)getBackBtn
{
UIButton *Btn =[UIButton buttonWithType:UIButtonTypeCustom];

[Btn setFrame:CGRectMake(0.0f,0.0f,50.0f,30.0f)];
[Btn setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"back.png"]] forState:UIControlStateNormal];
//[Btn setTitle:@"OK" forState:UIControlStateNormal];
//Btn.titleLabel.font = [UIFont fontWithName:@"Georgia" size:14];
[Btn addTarget:self action:@selector(backBtnPress:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithCustomView:Btn];
[self.navigationItem setLeftBarButtonItem:addButton];
}

后退按钮操作

-(IBAction)backBtnPress:(id)sender
{
}

在导航栏上查看

对于在导航栏上查看,您可以按照我的回答 Link

关于iphone - 如何以编程方式添加 UINavigationBar 及其上的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com