小编Lor*_*olt的帖子

中心UIButton图像与插图

我想创建一个UIButton,但是比图像有更大的拍子区域.(例如:40x40按钮,但图像仅为20x20,居中).

imageEdgeInsets是为了什么?

我已经以编程方式设置它:(这是在包含我的按钮的UIView中)

- (void)awakeFromNib {
    [_plusButton setImageEdgeInsets:UIEdgeInsetsMake(10, 10, 10, 10)];
    [_plusButton setContentMode:UIViewContentModeCenter];
}
Run Code Online (Sandbox Code Playgroud)

并从故事板

在此输入图像描述

但它们似乎都不起作用.

objective-c uibutton ios uiedgeinsets

22
推荐指数
3
解决办法
2万
查看次数

将GLEW与CMake链接

如何将GLEW链接到CMake项目?

我们一直在尝试使用CMake将GLEW链接到我们的项目至少3个小时而没有任何成功,因此可以接受任何帮助.

我正在使用CMake 3.1.0附带的FindGLEW.cmake

的CMakeLists.txt

find_package(GLEW REQUIRED)
if (GLEW_FOUND)
    include_directories($(GLEW_INCLUDE_DIRS))
endif()
Run Code Online (Sandbox Code Playgroud)

环境变量

在此输入图像描述 在此输入图像描述

我正在使用MinGW w64来编译源代码,我们只是通过将包含和库复制到各自的文件夹来成功链接GLFW和GLM,但在使用GLEW后,CMake仍然无法找到它.

对不起,如果我在制定问题时不够清楚.我将提供所需的任何其他信息.


编辑:我已经设法通过在CMake缓存文件中指定它们的位置链接头文件,虽然我得到未定义的glew函数的引用,如glewInit().

glew cmake dynamic-linking

18
推荐指数
3
解决办法
3万
查看次数

导航栏和视图之间的分隔符 - iOS 7

在iOS 7中,导航栏和视图之间有一个灰色分隔符.

回到iOS 6,没有那条水平线,因此视图将与导航栏融为一体,就像它们是相同的图像一样.现在我不知道如何删除它...

我已经尝试调整视图/导航栏的大小,但它没有帮助.有任何想法吗?

iphone objective-c uinavigationbar ios ios7

12
推荐指数
3
解决办法
1万
查看次数

与核心数据的关系错误

(使用swift/Xcode beta 3)

我的项目中有两个实体 - 一个与其子项具有一对多关系的父实体.在保存上下文之前添加新对象时,一切正常.但是,在重新启动应用程序并再次获取父对象后,我收到了所有子项的"关系错误".这就是我保存上下文的方式:

 func saveContext () {
    var error: NSError? = nil
    let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    let context =  appDel.managedObjectContext

    if context == nil {
        return
    }
    if !context.hasChanges {
        return
    }
    if context.save(&error) {
        return
    }

    println("Error saving context: \(error?.localizedDescription)\n\(error?.userInfo)")
    abort()
}
Run Code Online (Sandbox Code Playgroud)

我尝试更改includesSubentities = truesetReturnsObjectsAsFaults = false但它似乎没有帮助.Objective-C的"关系错误"问题的大多数答案似乎都使​​用了setRelationshipKeyPathsForPrefetching,但在Swift中使用它与NSFetchRequest似乎是不可能的.

有什么我想念的吗?

core-data relationship swift

10
推荐指数
1
解决办法
3147
查看次数

从XCTestCase子类继承

如何创建以下结构:

CoreDataTests : XCTestCase

Entity1CoreDataTests : CoreDataTests
Entity2CoreDataTests : CoreDataTests
Run Code Online (Sandbox Code Playgroud)

说明:我想编写一些与核心数据(check)相关的测试,但是我想把它们分成不同的测试用例类,所以在一个测试用例类中,我会有与User实体相关的测试,在另一个测试用例类中,测试与Comment实体有关.这里美中不足的是,我想这两个测试用例类共享setUp,并tearDown在CoreDataTests实现的方法,只是叫他们super,而不必把它周围的复制粘贴.

但由于它CoreDataTests是一个测试用例类,它没有头文件,因此EntityTest类抱怨它们没有指定基类.

inheritance unit-testing objective-c

9
推荐指数
1
解决办法
2620
查看次数

SwiftUI DatePicker 打破工作表关闭?

设想:

  • RootScreen 以模态方式呈现 DateScreen.sheet
  • DateScreen 有一个带有 CompactDatePickerStyle() 的 DatePicker 和一个用于关闭模式的按钮
  • 用户打开日期选择器
  • 用户点击 DatePicker 以调出 NumPad 以进行手动键盘输入
  • 用户按下按钮以关闭模式

SwiftUI 会认为被.sheet解雇了,但实际上,只有 DatePicker 的模式被解雇了。

最小代码示例:

struct DateScreen: View {
    @Binding var isPresented: Bool
    @State var date: Date = Date()

    var body: some View {
        NavigationView {
            VStack {
                DatePicker("", selection: $date, displayedComponents: [.hourAndMinute])
                    .datePickerStyle(CompactDatePickerStyle())
            }
            .navigationBarItems(leading: Button("Dismiss") {
                isPresented = false
            })
        }
    }
}

@main
struct Main: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    @State var isPresenting: Bool = false

    var …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

7
推荐指数
1
解决办法
1066
查看次数

Objective-C结构数组

我想要一个像下面这样的结构:

struct foo {
NSString Title;
NSInteger numberOfBooks;
vector of NSStrings Books;
};

foo bar[50];
Run Code Online (Sandbox Code Playgroud)

首先,我想知道如何创建一个字符串数组(每行包含一个书名).

然后我想知道我写的代码是否正确.

最后,我可以使用bar [n] .Title访问结构的所述元素吗?


我按照你评论的内容,以及它的外观:

@interface Foo : NSObject {
NSString *name;
NSArray *books;
}

@end

A->name = @"Clancy, Thomas";
A->books = [[NSArray alloc] initWithObjects:@"Book 1"
            @"Book2",nil];
self.authors = [[NSArray alloc] initWithObjects:A, nil];
Run Code Online (Sandbox Code Playgroud)

现在它给了我实例变量'name'受保护.我尝试写公开:在定义Foo时,但它不接受.(是的,我是Obj-C的新手).

arrays struct vector objective-c

5
推荐指数
1
解决办法
9697
查看次数

导航栏背景颜色 - 半透明是没有

我想将导航栏的背景颜色更改为纯绿色.

规则:我不能乱用AppDelegate :)

我试过了:

//It's green but it's translucent 
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];

//It's white, first line has no effect
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];
[self.navigationController.navigationBar setTranslucent:NO];

//Same result as case 1
[self.navigationController.navigationBar setAlpha:0.0f];
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];

//Too dark
[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];

//Only affects the back button's color:
[self.navigationController.navigationBar setTintColor:[UIColor greenColor]];
Run Code Online (Sandbox Code Playgroud)

那么任何想法?

谢谢,没看到有barTintColor和TintColor.接受最早的答案.

objective-c uinavigationbar uinavigationcontroller ios

5
推荐指数
1
解决办法
1万
查看次数

Git - 如何取消签名文件

长话短说,我不小心在.gitignore中添加了一个文件,我承诺并推送.

现在我从.gitignore中删除了该文件,但它仍然不可见.

我还需要做什么?

git gitignore

5
推荐指数
1
解决办法
2万
查看次数

修改Cocoapods生成的.xcconfig文件的脚本

如何修改OTHER_LDFLAGSpod install 步骤中生成的 .xcconfig 中的字段?

最终目标:仅弱链接某些 Pod,以便可以在运行时加载它们dlopen


我注意到在Pod-Target.debug.xcconfigpod install 生成的文件中,它有这个:OTHER_LDFLAGS = $(inherited) -framework "AFNetworking",如果我将其更改为-weak_framework,它就会执行我想做的事情。

这个Cocoapods 问题讨论了通过 post_install 挂钩来完成此操作,但config.build_settings['OTHER_LDFLAGS']不会写入该文件。


PS:我知道不建议使用dlopen,但是我正在使用冲突的硬件库,我不能同时加载两个。

xcconfig ios cocoapods

5
推荐指数
1
解决办法
1274
查看次数