我想创建没有界面建设者的uibarbutton =(白色代码),这个按钮是风格相机请帮助我
嗨,我在iphone中编辑表格视图.我使用在viewDidLoad()方法下编写的以下代码执行此操作.
UIBarButtonItem* barBtnItemEdit = self.navigationItem.rightBarButtonItem =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit
target:self
action:@selector(turnOnEditing)];
Run Code Online (Sandbox Code Playgroud)
我的表视图正确地进入编辑模式,但它向右滑动了一点.现在我想做的是锁定表,使其即使在编辑模式下也保持在其位置.我在编辑模式下编写表的自定义代码,而不是默认删除或插入行为..
我已经实现了以下代码来停止在每行前面显示"红色删除"按钮......
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleNone;
}
Run Code Online (Sandbox Code Playgroud)
但是UITableVIew仍然向右滑动一点.现在如何锁定表,以便它不会在编辑模式下更改其位置
最好的问候,阿卜杜勒卡维
所以我在UIToolbar中添加了一堆自定义UIBarButtonItems,它们都加载得很好,看起来很棒,我可以在UIToolbar中看到它们.唯一的问题是,我无法对它们执行任何操作.在我的viewDidLoad中,我设置了所有内容.这是我的.h和.m文件:
.h文件:
#import <UIKit/UIKit.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <QuartzCore/QuartzCore.h>
@interface PhotoEditViewController : UIViewController <UIPopoverControllerDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIGestureRecognizerDelegate> {
IBOutlet UIImageView *imageView;
}
- (IBAction)cancelEdit:(id)sender;
- (IBAction)savePhoto:(id)sender;
- (IBAction)chooseColor:(id)sender;
@property (retain) IBOutlet UIToolbar *editBar;
@property (retain) UIImageView *imageView;
@property (retain) UIImage *tempImage;
- (void) setupStache;
@end
Run Code Online (Sandbox Code Playgroud)
.m文件:(viewDidLoad)
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
self.imageView.image = tempImage;
NSMutableArray *toolbarItems = [NSMutableArray arrayWithCapacity:3];
// get the filepaths of all the images
NSString *imagePath_cancel = [[NSBundle mainBundle] pathForResource:@"barBtnPhotoEditCancel" ofType:@"png"];
NSString *imagePath_save …Run Code Online (Sandbox Code Playgroud) 我有以下UIBarButton项目:
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0f, 100.0f, 45.0f, 30.0f)];
[backButton setBackgroundImage:backButtonImage forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchDown];
backButton.titleLabel.text = @"Back";
backButton.titleLabel.font = [UIFont fontWithName:@"texgyreadventor-regular.otf" size:20.0f];
backButton.titleLabel.textColor = [UIColor whiteColor];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
_backItem = backItem;
Run Code Online (Sandbox Code Playgroud)
在其他一些方法中,我将它设置在导航栏上,如下所示:
[self.navigationItem setLeftBarButtonItem:_backItem];
到目前为止,一切都按预期工作.但是在我将它添加到顶部的导航栏之前,我想改变它的文本.这是我尝试做的事情之一:
self.navigationItem.leftBarButtonItem.title = @"NEW TITLE";
但是,这不起作用.如何在运行时动态添加标题?
所以我一直在尝试设置导航栏上的左侧栏按钮.主要是按钮样式我不想取样(与UIButton样式设置为自定义相同的样式).
有谁知道怎么样?谢谢詹姆斯
我做了一个自定义UIBarButtonItem从一个UIButton.自定义栏按钮可见,动作正常,大小正确,可以看到背景颜色; 但是无法看到手动设置的标题.也许背景是在文本上?我不确定,帮忙吗?
在viewDidLoad:
UIButton *resetButton = [UIButton buttonWithType:UIButtonTypeCustom];
resetButton.frame = CGRectMake(0, 0, 65, 30);
[resetButton addTarget:self action:@selector(speakPhrase:) forControlEvents:UIControlEventTouchUpInside];
resetButton.titleLabel.font = [UIFont fontWithName:@"ProximaNova-Bold" size:19];
resetButton.titleLabel.text = @"RESET";
resetButton.titleLabel.textColor = [UIColor whiteColor];
resetButton.backgroundColor = [UIColor redColor];
resetButton.showsTouchWhenHighlighted = YES;
UIBarButtonItem *resetBarBTN = [[UIBarButtonItem alloc] initWithCustomView:resetButton];
self.navigationItem.rightBarButtonItem = resetBarBTN;
Run Code Online (Sandbox Code Playgroud) 我正在尝试在播放和暂停图像之间切换我的按钮,当我开始并使用Swift停止滚动条.我的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet var btnPlayPause: UIBarButtonItem!
var isPlaying = false
var timer = NSTimer()
var count = 0
@IBOutlet weak var lblTime: UILabel!
@IBOutlet var myToolbar: UIToolbar!
@IBAction func btnPlay(sender: UIBarButtonItem)
{
//set the button to animate
self.myToolbar.setItems([self.btnPlayPause], animated: true)
if !isPlaying //if the ticker is not ticking
{
//change the button to a pause button
println("worked")//start the ticker
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("updateTime"), userInfo: nil, repeats: true)
isPlaying = true
}else{ //if …Run Code Online (Sandbox Code Playgroud) 我正在UIBarButtonItem使用以下代码创建一个.
let rightItem = UIBarButtonItem(title: "?", style: UIBarButtonItemStyle.Plain, target: self, action: "navigateToViewTwo")
if let font = UIFont(name: "System", size: 25.0) {
rightItem.setTitleTextAttributes([NSFontAttributeName: font], forState: UIControlState.Normal)}
navigationController?.navigationBar.topItem?.rightBarButtonItem = rightItem
Run Code Online (Sandbox Code Playgroud)
按钮应显示右箭头,确实如此.问题是字体不控制按钮的大小.我得到以下内容:
使用系统字体时唯一发生.我和Helvetica一起尝试过,我得到了以下内容:
箭头肯定更大,但导航栏上的箭头也太高了.如果我旋转屏幕,它看起来很糟糕.
箭头太高,看起来不合适.与左侧的项目按钮相比,看看它的外观如何?那个人被拖了下来.
如何调整箭头以使其尺寸正确,并且位于屏幕上的正确位置?
我没有任何技术上的麻烦,但我想知道在界面生成器中是否有更好的方法可以这样做,因为考虑添加新的导航控制器看起来是重复的和不必要的。当我将另一个视图控制器(通过Show segue)添加到导航层次结构中,然后尝试添加栏按钮项时,直到将视图控制器嵌入到新的导航控制器中之前,我才能这样做。这就是我的意思:
无法添加条形按钮项:
能够添加条形按钮项:
interface-builder uinavigationbar uinavigationcontroller uibarbuttonitem swift
我需要在我的navigationController的左侧为我的应用程序创建一个“汉堡菜单”按钮,但是由于NavCon是透明的,因此我的图标上需要有一个阴影。
因此,我创建了一个带有图像,阴影的自定义UIButton,并将其添加为UIBarButtonItem上的自定义视图,如下所示:
let menuButton = UIButton(type: .custom)
menuButton.addTarget(self, action: #selector(showSideMenu), for: .touchUpInside)
menuButton.setImage(#imageLiteral(resourceName: "menu_white"), for: .normal)
menuButton.tintColor = UIColor.white
menuButton.layer.masksToBounds = false
menuButton.layer.shadowColor = UIColor.black.cgColor
menuButton.layer.shadowOpacity = 1.0
menuButton.layer.shadowRadius = 5
menuButton.layer.shadowOffset = CGSize(width: 0.0, height: 1.0)
self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: menuButton)
Run Code Online (Sandbox Code Playgroud)
上面的代码在iOS 11上运行良好,但是当我在ios 9和10(模拟器和真实设备)上测试我的应用程序时,菜单图标不可见。它是可单击的,并且按预期方式工作,但是没有可见的图标。
在View Hierarchy Debugger中,我可以看到宽度和高度为0的UIButton,而在ios 11中,我可以看到带有嵌入式UIButton的普通UIButtonBarStackview。
关于如何解决此问题以及为什么会发生的任何想法?非常感谢你!
uibarbuttonitem ×10
ios ×4
iphone ×4
swift ×3
uibutton ×3
camera ×1
objective-c ×1
toggle ×1
toolbar ×1
uitableview ×1
uiview ×1
xcode ×1