小编Can*_*ğlu的帖子

Session.openActiveSession仅在Facebook Android SDK中调用OPENING

我正在尝试使用Facebook Android SDK登录Facebook,但状态回调仅在OPENING会话状态下触发一次.之后,Facebook登录活动显示没有内容(我知道它是那个活动,因为它具有我title_facebook_login在strings.xml中设置的标题)一小段时间,并在一秒钟内消失.没有其他回调被触发,没有例外,没有崩溃.它只是在我最初的活动中永远等待.这是我的代码:

Session.openActiveSession(parent, true, new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if(state == SessionState.OPENED){
                String accessToken = session.getAccessToken();
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

为什么回调不会触发SessionState.OPENED(或创建,甚至是关闭)但只打开?

android facebook facebook-android-sdk

4
推荐指数
1
解决办法
2322
查看次数

UITextView应检测链接,否则应传播触摸以查看下面的链接

我有一个文本视图,我想检测链接,但是当触摸点没有链接时,它应该传播触摸到下面的视图(它当前没有).它将包含在表格视图单元格中,如果用户点击链接,它应该交互(它可以工作),但是当点击另一个点时,它应该选择表格视图单元格.

我需要文本无法选择,所以我遵循/sf/answers/1908549961/并实施:

-(BOOL)canBecomeFirstResponder{
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

它也没有在此之前发送下面的触摸事件,但我已经包括它只是它干扰解决方案的情况.

touch uiview ios

4
推荐指数
2
解决办法
725
查看次数

动态类型的UIContentSizeCategoryDidChangeNotification后如何调整视图的大小

我想在我的应用程序中包含动态类型,并且希望它在运行时能够响应文本大小更改,而无需重新启动应用程序(当我重新启动时,它会成功应用新大小)。

我已经UIContentSizeCategoryDidChangeNotification在我的应用程序委托中实现了,并在上触发了一个通知applicationDidBecomeActive:,通知我的视图控制器。在视图控制器的处理程序方法中,我尝试过:

  • [self.view setNeedsDisplay];
  • [self.view setNeedsLayout];
  • [self.view invalidateIntrinsicContentSize];

但是似乎没有任何作用。它什么也没做。当应用程序激活时,它被称为(击中断点),并且确实被最前面的视图调用,但是没有任何变化。

如何在运行时使我的应用动态响应类型更改?

layout text uiview ios ios9

4
推荐指数
1
解决办法
1965
查看次数

我可以将 __kindof 与 Objective-C 中的协议一起使用吗?

我知道我可以使用__kindof关键字来使用 Objective-C 的轻量级泛型,例如

NSArray<__kindof BaseClass*> *myArray;
Run Code Online (Sandbox Code Playgroud)

这将删除将数组中的任何对象分配给派生类的任何警告。

然而,BaseClass我有,而不是BaseProtocol,例如,我所有有问题的类都将符合BaseProtocol,而不管它们的基类如何。我想使用轻量级泛型来规定“我的数组由符合 的元素组成BaseProtocol,但它们可以是任何类”。

例如,在 C# 中,我可以说:List<IMyInterface>这意味着列表由实现IMyInterface接口的元素组成(我知道 C# 具有强大的泛型,而 Objective-C 只有不会阻止编译的轻量级泛型,但你明白了) .

有什么办法可以在 Objective-C 上实现这个功能吗?

例如我想写

NSArray<__kindof id<MyProtocol>> //compiles, but as the generic argument is "id", it accepts any object, including invalid ones
Run Code Online (Sandbox Code Playgroud)

或者

NSArray<id<__kindof MyProtocol>> //doesn't compile
Run Code Online (Sandbox Code Playgroud)

这可能吗?

更新

这是一个完整的自包含代码:

@protocol MyProtocol

@end

@interface MyClass : NSObject<MyProtocol>

@end

@implementation MyClass

@end

@interface AnotherClass : NSObject

@end

@implementation AnotherClass

@end …
Run Code Online (Sandbox Code Playgroud)

generics casting objective-c covariance

4
推荐指数
1
解决办法
810
查看次数

AVDepthData 的深度图与 Photoshop 中的 HEIC 文件深度数据不同

我使用以下代码来提取深度图(按照苹果自己的示例):

- (nullable AVDepthData *)depthDataFromImageData:(nonnull NSData *)imageData orientation:(CGImagePropertyOrientation)orientation {
    AVDepthData *depthData = nil;

    CGImageSourceRef imageSource = CGImageSourceCreateWithData((CFDataRef)imageData, NULL);
    if (imageSource) {
        NSDictionary *auxDataDictionary = (__bridge NSDictionary *)CGImageSourceCopyAuxiliaryDataInfoAtIndex(imageSource, 0, kCGImageAuxiliaryDataTypeDisparity);
        if (auxDataDictionary) {
            depthData = [[AVDepthData depthDataFromDictionaryRepresentation:auxDataDictionary error:NULL] depthDataByApplyingExifOrientation:orientation];
        }

        CFRelease(imageSource);
    }

    return depthData;
}
Run Code Online (Sandbox Code Playgroud)

我将此称为:

[[PHAssetResourceManager defaultManager] requestDataForAssetResource:[PHAssetResource assetResourcesForAsset:asset].firstObject options:nil dataReceivedHandler:^(NSData * _Nonnull data) {
    AVDepthData *depthData = [self depthDataFromImageData:data orientation:[self CGImagePropertyOrientationForUIImageOrientation:pickedUiImageOrientation]];
    CIImage *image = [CIImage imageWithDepthData:depthData];
    UIImage *uiImage = [UIImage imageWithCIImage:image];
    UIGraphicsBeginImageContext(uiImage.size);
    [uiImage drawInRect:CGRectMake(0, 0, uiImage.size.width, uiImage.size.height)];
    UIImage *newImage …
Run Code Online (Sandbox Code Playgroud)

image-processing ios ios12 avdepthdata

4
推荐指数
1
解决办法
1929
查看次数

尝试在 React Native 中组织模块时无法解析模块

我是 React Native 的新手,正在尝试将我的 React Native 类组织到模块中,以摆脱“ import from '../../../”混乱。这是我非常简单的文件夹结构:

在此输入图像描述

按照此处的教程,我package.json为每个文件夹构建了这样的结构:

{
    "name": "@foldername"
}
Run Code Online (Sandbox Code Playgroud)

现在,我尝试导入Page(此时它只是一个组件超类,在文件中默认导出):

import Page from '@app/components/core';

但无法解决。我也尝试过:

import Page from '@app/@components/@core';

import { Page } from '@app/@components/@core';

import { Page } from '@app/components/core';

import { Page } from 'app/components/core';

他们似乎都没有工作。我也尝试了所有没有@符号的方法(从包文件和导入语句中删除它),但没有效果。

我如何组织我的组件以这种方式工作(如果我知道@前面的标志是做什么的,那就太好了,因为我也看过一些没有它的教程)?

这是我的package.json根文件夹中的内容(如果有帮助的话)(没有接触过它,这是由创建的方式react-native init):

{
  "name": "redacted",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native es6-modules

4
推荐指数
1
解决办法
7483
查看次数

React Navigation headerBackImage 不起作用

我在 React Native 应用程序中使用 React Navigation 3.11,我想自定义堆栈导航中的后退按钮。在文档中它说:

标题背景图片

React 元素或组件以在标题的后退按钮中显示自定义图像。当一个组件被使用时,它在渲染时会收到一些 props (tintColor, title)。默认为带有 react-navigation/views/assets/back-icon.png 后退图像源的 Image 组件,这是平台的默认后退图标图像(iOS 上为 V 形,Android 上为箭头)。

这是我的配置:

let navigationRouteConfigMap : NavigationRouteConfigMap = {
      _main:
      {screen: page, navigationOptions: 
        { 
          [...]
          headerBackTitle: '',
          headerTruncatedBackTitle: '',
          headerBackImage: Images.backArrow,
        }
      }

    }
    let stackNavigatorConfig:StackNavigatorConfig = {
      headerBackTitleVisible: false
    }

    return createStackNavigator(navigationRouteConfigMap, stackNavigatorConfig)
Run Code Online (Sandbox Code Playgroud)

我的配置中还有其他页面,所有页面具有相同的共享导航选项和自定义标题背景图像。但是,在我的应用程序中,它呈现默认的后退箭头。(headerBackTitleVisible: false虽然有效)

我究竟做错了什么?

react-native react-navigation react-navigation-stack

4
推荐指数
3
解决办法
5836
查看次数

为什么我不能在自己的组件上使用 StyleProp&lt;ViewStyle&gt;

我正在使用 TypeScript/Vscode 来编写我的 React Native 应用程序。我希望我的自定义组件上的代码完成样式就像 React Native 自己的View组件一样。

stylepropView定义如下:

style?: StyleProp<ViewStyle>;
Run Code Online (Sandbox Code Playgroud)

当我在我自己的组件的 props 上尝试时:

type MyViewProps = { style?:StyleProp<ViewStyle> }
class MyView extends Component<MyViewProps>{ ... }
Run Code Online (Sandbox Code Playgroud)

并尝试按照我style在常规视图中使用的方式使用它:

<MyView style={{top:-20}}/>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Type '{ style: { top: number; }; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Component<Pick<MyViewProps, never>, any, any>> & Readonly<Pick<MyViewProps, never>> & Readonly<...>'.
  Property 'style' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<Component<Pick<MyViewProps, never>, any, any>> & Readonly<Pick<MyViewProps, never>> & Readonly<...>'.ts(2322) …
Run Code Online (Sandbox Code Playgroud)

intellisense typescript react-native visual-studio-code typescript3.0

4
推荐指数
1
解决办法
3903
查看次数

React Native 样式表合并:扩展类型只能从对象类型创建

我正在尝试将现有样式与 React Native 的常规方法中的额外样式合并StyleSheet.create

const styles = StyleSheet.create({
    blurView:{
        ...StyleSheet.absoluteFill,
        borderRadius: 24
    },

});
Run Code Online (Sandbox Code Playgroud)

但是我在网上收到以下错误...StyleSheet.absoluteFill

Spread types may only be created from object types.

我究竟做错了什么?我知道我可以将数组传递给styleprop,但我只是好奇为什么这不起作用。

typescript react-native

4
推荐指数
1
解决办法
1937
查看次数

Vscode Typescript Intellisense 仅显示第一个选项?

我正在开发我的 React Native (TypeScript) 应用程序,今天突然(没有更新没有更改设置)我的 Intellisense 开始只显示第一个建议,无论如何:

在此处输入图片说明

这个问题不是特定于特定类的,我已经多次重新启动 Vscode(重新启动 TS 语言服务器,从~/Library/Caches/Code文件夹和com.microsoft基本上以开头的所有内容)中删除了所有 Vscode 缓存,但无济于事。

我怎样才能摆脱它?(Vscode Insiders 1.51.0(这个版本已经使用了好几天没有问题),TypeScript 4.0.5)

intellisense typescript visual-studio-code typescript4.0

4
推荐指数
1
解决办法
425
查看次数