小编art*_*ras的帖子

在iOS7中选择单元格时,UITableView分隔线消失

在我的tableView中,我在单元格之间设置了一个分隔线.我允许选择多个细胞.这是我设置所选单元格背景颜色的代码:

UIView *cellBackgroundColorView = [[UIView alloc] initWithFrame:cell.frame];
[cellBackgroundColorView setBackgroundColor:[UIColor darkGray]];
[cell setSelectedBackgroundView:cellBackgroundColorView];
Run Code Online (Sandbox Code Playgroud)

问题是如果选择了两个相邻的单元格,iOS7中它们之间没有分隔线,而iOS6中有(如预期的那样).

我甚至尝试将cellBackgroundColorView帧高设置为cell.frame - 1.0,但这也不起作用.

有任何想法吗?

uitableview ios7

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

tableView:canEditRowAtIndexPath:弹出viewController时崩溃

我有一个带有a的viewController UITableView,我可以通过滑动来编辑(删除)这些行 - 就像在Mail应用程序中一样.除此之外,我用这个方法做到了:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

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

但是,如果我显示删除按钮,同时我使用我的后退导航UINavigationController,即当我popViewControllerAnimated:,应用程序崩溃时出现以下消息:

[ViewController tableView:canEditRowAtIndexPath:]:发送到解除分配的实例0xaae64d0的消息

我该如何解决这个问题?

objective-c uitableview ios

40
推荐指数
2
解决办法
5950
查看次数

Firestore - batch.add不是一个函数

文件对公司的FireStore批量写入只列出set(),update()delete()允许的操作.

有没有办法向add()批处理添加操作?我需要使用自动生成的ID创建文档.

google-cloud-firestore

35
推荐指数
3
解决办法
8673
查看次数

未找到规则“@typescript-eslint/no-redeclare”的定义

在我所有的.ts.tsx文件,我有像下面的截图文件中的第一个字符这样的警告:

在此处输入图片说明

我正在使用标准的 CRA 设置。这是我的package.json

{
  "name": "my-project",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "firebase": "^8.0.1",
    "formik": "^2.2.3",
    "i18next": "^19.8.3",
    "i18next-browser-languagedetector": "^6.0.1",
    "i18next-xhr-backend": "^3.2.2",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-firebaseui": "^4.1.0",
    "react-i18next": "^11.7.3",
    "react-router-dom": "^5.2.0",
    "react-scripts": "^4.0.0",
    "react-select": "^3.1.0",
    "react-spinners": "^0.9.0",
    "react-syntax-highlighter": "^15.3.0",
    "react-transition-group": "^4.4.1",
    "styled-components": "^5.2.1",
    "yup": "^0.29.3"
  },
  "devDependencies": {
    "@cypress/webpack-preprocessor": "^5.4.10",
    "@types/firebase": "^3.2.1",
    "@types/jest": "^26.0.15",
    "@types/react": "^16.9.56",
    "@types/react-dom": "^16.9.9",
    "@types/react-router-dom": "^5.1.6",
    "@types/react-select": "^3.0.23",
    "@types/react-syntax-highlighter": "^13.5.0",
    "@types/styled-components": "^5.1.4",
    "@types/yup": "^0.29.9",
    "cypress": "^5.5.0",
    "eslint-plugin-cypress": "^2.11.2", …
Run Code Online (Sandbox Code Playgroud)

typescript create-react-app

15
推荐指数
2
解决办法
7492
查看次数

NextJS动态导入问题

我在dynamicimport from方面遇到了一个非常奇怪的问题NextJS

我正在导入一个像这样的组件:

const Spinner = dynamic(() => import('components/ui/Spinner').then(mod => mod.Spinner))
Run Code Online (Sandbox Code Playgroud)

并且Spinner.tsx

import {useEffect, useState} from 'react'
import PulseLoader from 'react-spinners/PulseLoader'

import {FadeHOC} from '.'
import theme from 'utils/theme'


interface Props {
  inline?: boolean
}

const TIMEOUT = 1000

export const Spinner = ({inline}: Props) => {

  const [show, setShow] = useState(false)

  useEffect(() => {
    
    const timeout = setTimeout(
      () => setShow(true),
      TIMEOUT
    )
    
    return () => clearTimeout(timeout)
  }, [])

  return (
    show
      ? …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs next.js

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

关闭模态视图控制器会导致黑屏

这是我的视图(控制器)层次结构:

  • UITabBarController(作为rootViewController应用程序)
  • UINavigationController(作为viewController其中一个tabBar标签)
  • UIViewController(作为rootViewControllerUINavigationController)
  • UICollectionView (作为子视图)
  • MyViewController.view(作为节的标题视图UICollectionView)

所以,我需要提供一个模态视图控制器MyViewController.我试过这样做

[self presentViewController:modalVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

尽管它有效,Xcode警告我"不鼓励在分离的视图控制器上呈现视图控制器",这是正确的,因为modalVC只填充集合视图标题的视图,这不是我所追求的全屏.

我尝试过的所有其他选项:

UITabBarController *tb = (UITabBarController *)self.view.window.rootViewController;
[tb presentViewController:modalVC animated:YES completion:nil];

or...

UINavigationController *nc = (UINavigationController *)tb.selectedViewController;
[tb presentViewController:modalVC animated:YES completion:nil];

or...

UICustomViewController *cv = (UICustomViewController *)nc.topViewController;
[vc presentViewController:modalVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

然而,当我通过调用关闭modalVC时,根据需要呈现modalVC全屏

[self dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

从modalVC本身来看,modalVC确实解散了自己,但我留下了黑屏.一点调试显示,在解雇modalVC之后,self.view.window.rootViewController变成了nil.

知道为什么会这样,以及如何解决这个问题?

编辑

这是一款iPhone应用程序.iOS7和iOS8都有黑屏.另外,下面是我发起的方法MyViewController

#pragma mark - UICollectionViewDelegate …
Run Code Online (Sandbox Code Playgroud)

iphone xcode objective-c modalviewcontroller ios

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

AutoLayout将UILabel高度设置为零

UILabel在其他视图中有一个for item描述,所有视图都使用Interface Builder中的约束进行布局 - 您可以在下面的图像中看到所有相关约束.行数也设置为0.

在此输入图像描述

我没有设置高度约束,因为我希望UILabel根据它包含的文本调整大小.相反,接下来会发生什么

[self.view layoutIfNeeded];
Run Code Online (Sandbox Code Playgroud)

被调用,UILabelgets 的高度设置为0.即使我没有设置其他文本UILabel,它也具有在Interface Builder中设置的项目描述的默认值.

上面的项目标题标签设置方式相同,但不会被压扁0,所以我有点困惑.

有没有这种行为的经验?

objective-c ios autolayout

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

笑话模拟反应上下文

我需要一些帮助,以帮助您了解如何使用来测试应用程序React Context

这是我的示例设置。

context.js

import React from 'react'

export const AppContext = React.createContext()
Run Code Online (Sandbox Code Playgroud)

App.js

import React from 'react'

import MyComponent from './MyComponent'
import {AppContext} from './context'

const App extends React.Component {

  state = {
    items: []
  }

  handleItemAdd = newItem => {
    const {items} = this.state
    items.push(newItem)
    this.setState(items)
  }

  render() {
    return (
      <AppContext.Provider value={{
        addItem: this.handleItemAdd
      }}>
        <MyComponent />
      </AppContext.Provider>
    )
  }
}

export default App
Run Code Online (Sandbox Code Playgroud)

MyComponent.js

import React from 'react'

import {AppContext} from './context'

const MyComponent …
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs jestjs react-context react-testing-library

9
推荐指数
2
解决办法
8828
查看次数

iOS 9更改了视图加载行为

我注意到iOS 9加载/显示视图与以前版本的iOS相比有所变化.这是self.view.framein 的输出iOS 8.4

viewDidLoad {{0, 0}, {320, 504}}
viewWillAppear {{0, 64}, {320, 504}}
viewDidAppear {{0, 64}, {320, 504}}
Run Code Online (Sandbox Code Playgroud)

而且这里也是一样的 iOS 9

viewDidLoad {{0, 0}, {320, 504}}
viewWillAppear {{0, 0}, {320, 504}}
viewDidAppear {{0, 64}, {320, 504}}
Run Code Online (Sandbox Code Playgroud)

请注意,viewWillAppear方法iOS 9不能更新originself.view.frame.

这会导致我的应用中的某些问题,例如视图最初位置不正确.

有谁知道它是有意还是缺陷?或许快速修复?

objective-c viewwillappear ios ios9

6
推荐指数
1
解决办法
1228
查看次数

来自node_modules的console.log()

如何console.log()node_modules我的节点项目中的依赖项中获得帮助?我正在使用默认create-react-app设置。

当我console.log()在应用程序代码中包含日志时,记录工作正常。但是,当我尝试console.log()在中将项目的依赖项之一包含在代码中时node_modules,这些将不会出现在控制台中。

有什么办法可以获取这些日志?

node.js console.log create-react-app

6
推荐指数
3
解决办法
2771
查看次数